您的位置:首页 > 产品设计 > UI/UE

用ndk-build 工具手动生成编译android原生程序

2016-07-08 22:26 405 查看
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 <stdio.h>

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平台下编译原声程序就完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: