Android NDK开发学习(二)
最后更新于:2022-04-01 16:21:30
[Android NDK开发学习(一):环境的配置](http://blog.csdn.net/qq_17766199/article/details/48174875)
Android NDK开发学习(二)学习官方Demo : HelloJni
根据第一篇的学习,我们已经成功的配置了NDK,那么接下了就是上手实战的时刻了。
1、导入官方Demo
导入方法就不多说:导入成功后如下图
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e7453db.jpg)
<1>导入的项目直接时不能运行的,需要进行设置
![](image/56a4ee6b3a72c.jpg)
![](image/56a4ee6bd7ca5.jpg)
![](image/56a4ee6c80c61.jpg)
![](image/56a4ee6d2b283.jpg)
![](image/56a4ee6dc5d11.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e791af5.jpg)
接下来是Build的设置:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e7c51f0.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e7dd6f4.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e80377d.jpg)
点击Specify Resources 后勾选你的资源文件。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e83cbf0.jpg)
最后注意的事:如果你配置的编译器在其他的编译器下边,记得要点击up按钮,把他排到第一位。
否则C代码的编译晚于Java的代码编译,会造成你的C代码要编译两次才能看到最新的修改。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e86c2d2.jpg)
<2>其他的配置参考我的第一篇。这里我就不重复了。
<3>查看代码
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e886d97.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e8a0ede.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e8dbd16.jpg)
运行结果:(这个demo是判断出你手机的构架,从而显示出来,如图我的手机是armeabi-v7a)。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e90b465.jpg)
在编译时控制台打印如下信息:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f24e92800d.jpg)
可以看出编译时生成了各种构架的so文件。这个的控制是Application.mk文件完成的。
demo中Application.mk 文件中的APP_ABI := all 就是编译出所有平台。
不写这句默认是只编译armeabi。
最后贴出一个连接:这个是用来解决ndk项目有时报Unresolved inclusion: <jni.h>类似配置成功但是找不到头文件的错误。[点击打开链接](http://blog.csdn.net/zhubin215130/article/details/39347873)