Android NDK开发之Hello-JNI!

Android NDK 是指Android Native Development Kit,也被Google称为“NDK”。Android程序运行在Dalvik虚拟机中, NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。包括了:

从C / C++生成原生代码库所需要的工具和build files。  

将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。 

支持所有未来Android平台的一系列原生系统头文件和库  

通常在什么情况下考虑使用NDK开发:  

1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。  

2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。  

3. 便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再次使用。  

学习NDK开发先从简单地开始,包括先从使用得相对比较熟练地Eclipse开发工具开始。  

第一步:下载NDK开发工具包。  

可以上Android开发者官网对应NDK开发下载网址:https://developer.android.com/ndk/downloads/index.html下载。!  

Android NDK开发之Hello-JNI!_第1张图片也可以通过Android开发工具下载网址:http://www.androiddevtools.cn/上下载NDK开发包。  

第二步:配置NDK开发环境(环境变量)。  

下载好NDK开发包,解压后(如我下载的是android-ndk-r10e版本),解压后放到本地:D:\android-ndk-r10e。

Android NDK开发之Hello-JNI!_第2张图片

然后打开我的电脑-->鼠标右键选择属性-->高级系统设置-->环境变量--> 找到系统变量中的path变量进行编辑-->把NDK解压后文件目录主放到path最后面,记得加“;”。  

最后进行cmd命令窗口,执行ndk-build命令,如下图,则表示环境变量配置成功。  

Android NDK开发之Hello-JNI!_第3张图片

第三步:对Eclipse进行NDK开发配置:  

1,如果没有安装ADT开发工具插件,则需要安装ADT,我用的是已经安装 好ADT的Eclipse。安装 ADT方法和安装其它开发插件方法一样。  

2,配置Eclipse中NDK路径(不进行配置也可以)  

Android NDK开发之Hello-JNI!_第4张图片  

第四步:配置Genymotion模拟器

如果开发中要把项目安装在Genymotion模拟器上,则开发NDK时要对Genymotion模拟器进行简单配置,需要下载

Genymotion-ARM-Translation工具包,启动模拟器后,把安装包拖动到模拟器中就会自动完成安装工作。 

第五步:开启Hello JNI之旅。

启动Eclipse,导入NDK开发包中示例代码中的hello-jni.

Android NDK开发之Hello-JNI!_第5张图片

正常情况下,导入项目是不会报错的。但是运行项目会报错。导入项目结构如图

Android NDK开发之Hello-JNI!_第6张图片
接下来在cmd窗口中,进行到项目所在目录,执行ndk-build命令:
Android NDK开发之Hello-JNI!_第7张图片
执行成功会如上图一样提示文件生成信息。命令执行完成,刷新下HelloJni项目,如图:
Android NDK开发之Hello-JNI!_第8张图片
结果可见,增加了libs及obj文件,文件下有对应平台的.so库等文件。现在运行项目,成功啦!项目展示结果如下:
Android NDK开发之Hello-JNI!_第9张图片
在我们的HellJni项目中,有一个jni文件,打开文件中Application.mk文件,把APP_ABI := all这句代码注释后,再重新执行ndk-build命令,你会有新的发现哦。第一个NDK项目就到此,继续学习中。。。。

你可能感兴趣的:(NDK)