安卓之Android.mk编写
题记:编译环境可以参考https://www.cnblogs.com/ywjfx/p/9960817.html
不管是写C还是java,我想所有的程序员都经历过HelloWorld程序的编写,现在让我们开始安卓的framework层的HelloWorld之旅。
有了编译环境,只需要两个步骤就可以完成,步骤如下:
1、在external下面创建test目录
mkdir android/external/test
2、在test目录下创建两个文件Android.mk、test.c
#Android.mk文件
LOCAL_PATH:= $(call my-dir) #定义当前模块的相对路径
include $(CLEAR_VARS) #清空当前环境变量
LOCAL_MODULE:= test #编译生成的目标名称
LOCAL_SRC_FILES := test.c #编译该模块所需要的源文件 注:编译多个源文件LOCAL_SRC_FILES := test.c \ test1.c
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在当前目录生成该模块文件
include $(BUILD_EXECUTABLE) #编译之后的文件类型
//test.c文件
#include <stdio.h>
main() {
printf("hello world\n");
}
3、编译环境
. build/envsetup.sh
lunch
22 #选择自己的平台,个人是22
4、编译文件
mmm external/test #使用mmm或者mm去编译test目录下的所有文件
不出意外的话,你可以看到下面的语句,说明你编译成功了。
Starting build with ninja
ninja: Entering directory `.'
[ % /] target C: test <= external/test/test.c
external/test/test.c::: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main() {
^
warning generated.
[% /] Install: out/target/product/tulip-p1/system/bin/test
make: Leaving directory `/home/yangwj/software/cqa64_android_v7./android' #### make completed successfully (: (mm:ss)) ####
###共勉###
安卓之Android.mk编写的更多相关文章
- 4.android.mk编写规范
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.要掌握jni,就必须熟练掌握Andr ...
- 安卓之Android.mk多文件以及动态库编译
1.多文件编译 多文件编译共有两种方式: (1) 在Android.mk中一一添加 LOCAL_PATH:= $(call my-dir) #定义当前模块的相对路径 include $(CLEAR_V ...
- Android.mk具体解释
概述 Android.mk文件用来向编译系统描写叙述怎样编译你的源码.更确切地说,该文件事实上就是一个小型的Makefile.由于该文件会被NDK的编译工具解析多次,因此应该尽量降低源码中声明 ...
- Android.mk遍历子目录所有文件
转:http://blog.csdn.net/langresser_king/article/details/8272736 define all-cpp-files-under$(patsubst ...
- Android Jni Android.mk经常使用语句
仅仅要涉及JNI开发都涉及到Android.mk编写,它也是一种makefile语言. 以上一篇博客中提供的project为例! <1> : 信息打印 : 既然是一种简易语言那么首先应该知 ...
- 03_Android NDK中C语言调用Java代码,javah的使用,javap的使用以及生成签名,Android.mk的编写,C代码的编写
1 案例场景,通过C语言回调Java的代码,案例的最终界面: 2 案例的代码结构如下: 3 编写DataProvider的代码: package com.example.ndkcallbac ...
- cocos2d-x在Android上的编译过程(3):简化Android.mk文件的编写
在编译动态库时.要求我们要去编写jni/Android.mk文件.告诉编译器编译出来的库时应包括包括编译文件和其它引用库.但对于一个大项目来说,维护这个文件肯定是一件比較繁琐的事情.由于每加一个文件或 ...
- [转]编写 android.mk 中 LOCAL_C_INCLUDES 的技巧
看原文请移步:编写 android.mk 中 LOCAL_C_INCLUDES 的技巧 在编写android.mk的过程中,免不了要修改LOCAL_C_INCLUDES来设置头文件的include目录 ...
- [转]编写Android.mk中的LOCAL_SRC_FILES的终极技巧
希望看原文的请移步:[原创]编写Android.mk中的LOCAL_SRC_FILES的终极技巧 问题的引入 在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件,其中最重要的 ...
随机推荐
- 20、linux启动流程和救援模式
1.Linux启动流程 2.Linux运行级别 1.什么是运行级别,运行级别就是操作系统当前正在运行的功能级别 System V init运行级别 systemd目标名称 作用 0 runlevel0 ...
- 解决xshell连接不上阿里云服务器问题
最近购买了阿里云服务器准备玩玩,但是使用xshell连接阿里云服务器时,系统一直提示“Connection established. To escape to local shell, press ' ...
- Python往kafka生产消费数据
安装 kafka: pip install kafka-python 生产数据 from kafka import KafkaProducer import json ''' 生产者demo 向te ...
- Linux之screen用法
Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果. Screen功能说明: 简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这 ...
- 第二章 Vue快速入门--8 v-bind指令的学习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- (八)zabbix获取到的数值自定义单位
1) 查找php文件 # find / -name "func.inc.php" /usr/share/zabbix/include/func.inc.php 2)修改文件 #vi ...
- python的序列化模块
最近机器学习的模型需要序列化和反序列化,因为写个博客总结一下几个模型和数据等序列化的模块.
- 一例jsonp跨域访问
对于网站A,有一链接 '/auth/list',返回json数据 {, , , , , },{, , , , , }]} 网站b某页面下可以这样写jsonp get请求 <script> ...
- maven项目pom.xml中parent标签的使用(转)
原文地址:https://blog.csdn.net/qq_41254677/article/details/81011681 使用maven是为了更好的帮项目管理包依赖,maven的核心就是pom. ...
- Linux通过秘钥远程连接
1. 秘钥生成命令 ssh-keygen 执行完上述的命令就会在root目录下生成公钥跟私钥文件 /root/.ssh/.id_rsa 私钥 /root/.ssh/.id_rsa.pub 公钥 ...