目前切换到mac上面进行Android开发,很久没有弄ndk,现在重新搞搞,了解下流程,同时也把一些问题记录下来,希望可以帮助有需要的人。
文章使用的开发平台是eclipse,整个流程大体如下:
配置ndk环境:
下载ndk:
这里就要上官网下载ndk的开发工具了:http://developer.android.com/intl/zh-cn/ndk/downloads/index.html
解压ndk:
ndk$ chmod a+x android-ndk-r10c-darwin-x86_64.bin
ndk$ ./android-ndk-r10c-darwin-x86_64.bin
mac配置环境变量:
eclipse配置NDK:
写个demo测试jni调用
在ndk7之后,ndk已经集成了cygwin,这就为我们开发jni带来了更多的便捷,本次demo采用的工具是eclipse,听说在eclipse上面开发jni比在Android studio上面快捷,我还没有测试过,有兴趣的网友可以试试,但是在官网上面关于ndk的演示还是用eclipse,所以本人觉得还是有点道理的,不过随着as的改进,慢慢jni的开发也都会转过去吧,好了回到正题!现在介绍调试demo,要用demo,当然是官方的demo测试最好啦,这次我们要用的是一个简单的“hello-jni”。
打开ndk目录
在目录中有个“hello-jni”的demo,我们这次就是用它。
导入demo
现在我们要用eclipse导入demo,但是导入的方式不是General,而是通过Android导入
然后选择hello jni 就行了,下面的tests不需要勾选。
加入Native编译支持
编译
其他:
最好的配置环境方式
eclipse没有NDK的选项怎么办?
如何解决直接使用.so,而不需要引入jni文件夹,报错:Android NDK: Aborting...
我在完成hello-jni调试之后,然后想直接使用.so包而不需要jni文件夹了,因为实际开发的时候我们仅需要.so文件就可以了,但是当初直接在工程删除jni相关文件之后发现,一直报错: Android NDK: Aborting... , 开始我以为是我的.so有问题,但是发现我新建的Android工程可以正常调用,但是原工程却一直报错。。。郁闷了很久,就去问公司大神,他的回答给了我一些思路——可能是引入了不必要的配置,我马上去检查,发现配置真的是多了一些编译的东西,一般的Android工程是没有红框的东西的,如下:解决方法就是如下,去掉红框的文件,然后把黄框的文件和正常的文件比较,去掉关于ndk的东西,经过这两个步骤就可以解决了!
本文详细介绍在Mac上使用Eclipse进行Android NDK配置及开发的全过程,包括环境搭建、配置流程、常见问题解决等。

被折叠的 条评论
为什么被折叠?



