用ndk-build 工具手动生成编译android原生程序
Android NDK 开发套件提供个一个ndk-build 工具,方面开发者来快速地生成原生程序。
在使用ndk-build工具之前,需要现有一个android工程,我们使用android sdk 开发包tools目录下的android脚本来生成。
android create project -n hello2 -p hello2 -t android-23 -k com.droider.hello2 -a MyActiviry |
命令行解释:
“-n”指定Android工程的名称
“-p”指定生成工程的目录名
“-t”指定生成Android工程所需要使用的平台版本号
“-k”指定Android工程的包名
“-a”指定默认Activity的名称
“android createproject”会根据默认Activity文件名自动生成相应的java文件,并生成AndroidManifest.xml.
Android的工程生成好了,在工程的根目录下新建一个jni文件夹
在jni文件夹下新建 hello.c文件 与 Android.mk文件
hello.c原程序代码
#include int main(int argc, char* argv[]) { printf("Hello ARM!\n"); return 0; } |
Android.mk编译脚本代码
#定义了本地源码的路径 LOCAL_PATH := $(call my-dir) #指定让编译系统清楚掉一些已经定义过的宏 include $(CLEAR_VARS) #指定生成的原生程序所使用的ARM指令模式。arm表示使用32位的arm指令系统 LOCAL_ARM_MODE := arm #指定模块的名称,及原文件生成后的文件名 LOCAL_MODULE := hello #指定c或c++原文件列表。这里只有一个hello.c文件 LOCAL_SRC_FILES := hello.c #指定生成的文件类型。 #BUILD_EXECUABLE表示生成可执行文件 #BUILD_SHARED_LIBRARY表示生成动态库 #BUILD_STATIC_LIBRARY表示生成静态库 include $(BUILD_EXECUTABLE) |
然后再命令行进入hello2工程目录,输入ndk-build 命令就会在libs/armeabi目录下生成hello可执行文件
将hello复制到模拟器或手机,然后输入指令adb shell /data/local/hello
可以看到执行效果输出“Hello ARM!”
在windows平台下编译原声程序就完成了。
更多相关文章
- android工程导出成为jar包。
- Android(安卓)cocos2d-x开发(三)之创建Android工程和编译
- android 登陆、注册、并个指定用户充值
- Android应用开发提高系列(5)——Android动态加载(下)——加载已安装A
- [Android(安卓)L]关于Android(安卓)L的Service启动问题
- 如何去写 Android(安卓)init.rc (Android(安卓)init language)
- Android(安卓)Studio v0.1尝鲜
- Android(安卓)ORM框架GreenDao用法
- android 如何依赖android:sharedUserId更换皮肤Skin