android编译环境(1)-编译nativec的模块

android编译环境(1)-编译nativec的模块

ID:37182745

大小:30.51 KB

页数:3页

时间:2019-05-21

android编译环境(1)-编译nativec的模块_第1页
android编译环境(1)-编译nativec的模块_第2页
android编译环境(1)-编译nativec的模块_第3页
资源描述:

《android编译环境(1)-编译nativec的模块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk.Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给Android增加一个新的Component会比较简单。编译Java程序可以直接采用Eclipse的集成环境来完成,这里就不重复了。我们主要针对C/C++来说明,下面通过

2、一个小例子来说明,如何在Android中增加一个C程序的HelloWorld:1.在$(YOUR_ANDROID)/development目录下创建hello目录,其中$(YOUR_ANDROID)指Android源代码所在的目录。-#mkdir$(YOUR_ANDROID)/development/hello2.在$(YOUR_ANDROID)/external/hello/目录编写hello.c文件,hello.c的内容当然就是经典的HelloWorld程序:#includeintmain(){   printf("HelloWorld

3、!");return0;} 3.在$(YOUR_ANDROID)/external/hello/目录编写Android.mk文件。这是AndroidMakefile的标准命名,不要更改。Android.mk文件的格式和内容可以参考其他已有的Android.mk文件的写法,针对helloworld程序的Android.mk文件内容如下:LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS) LOCAL_SRC_FILES:=   hello.c LOCAL_MODULE:=helloworldinclude$(BUIL

4、D_EXECUTABLE)注意上面LOCAL_SRC_FILES用来指定源文件;,LOCAL_MODULE指定要编译的模块的名字,下一步骤编译时就要用到;include$(BUILD_EXECUTABLE)表示要编译成一个可执行文件,如果想编译成动态库则可用BUILD_SHARED_LIBRARY,这些可以在$(YOUR_ANDROID)/build/core/config.mk查到。4.回到Android源代码顶层目录进行编译:#cd$(YOUR_ANDROID)&&makehelloworld注意makehelloworld中的目标名helloworld

5、就是上面Android.mk文件中由LOCAL_MODULE指定的模块名。编译结果如下:targetthumbC:helloworld<=development/hello/hello.ctargetExecutable:helloworld(out/target/product/generic/obj/EXECUTABLES/helloworld_intermediates/LINKED/helloworld)targetNon-prelinked:helloworld(out/target/product/generic/symbols/system/b

6、in/helloworld)targetStrip:helloworld(out/target/product/generic/obj/EXECUTABLES/helloworld_intermediates/helloworld)Install:out/target/product/generic/system/bin/helloworld 5.如上面的编译结果所示,编译后的可执行文件存放在out/target/product/generic/system/bin/helloworld,通过”adbpush”将它传送到模拟器上,再通过”adbshell”登

7、录到模拟器终端,就可以执行了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。