mac配置NDK环境和演示调用jni的一个demo
来源:互联网 发布:国培网络研修 编辑:程序博客网 时间:2024/06/06 18:34
目前切换到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配置环境变量:
(1) 打开.bash_profile 文件(如果没有该文件,则自己创建,用:touch .bash_profile命令)
(2)往里面添加自己ndk所在目录:export PATH=${PATH}:/Users/zgm/Desktop/zgm/tool/ndk/android-ndk-r10e
(3)添加完毕就保存文件,接着控制台输入命令更新source .bash_profile文件:source .bash_profile
(4)最后重新打开控制台,用命令:ndk-build测试,如果出现类似类似:Android NDK: Could not find application project directory信息就说明成功了!
eclipse配置NDK:
如图:打开eclipse的偏好设置,然后设置ndk的目录,接着点击“ok”就可以了。
写个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编译支持
右键“HelloJni”工程,然后选择 Android Tools > Add Native Support,在出现的窗口填上"hello-jni",这个就是编译出来的so库的文件名字。
编译
搞定上面就可以右键直接编译了,如果出现下图,就恭喜你成功了。
其他:
最好的配置环境方式
随着开发工具的升级会导致NDK配置的有所改变,最好的方法当然是参考官方文档的配置啦!
NDK使用配置的官方说明:http://developer.android.com/intl/zh-cn/ndk/guides/setup.html
eclipse没有NDK的选项怎么办?
发现eclipse没有ndk选项的时候我也傻了,幸亏网上有很多热心网友提供解决方案,也是因为这样,才促使我现在慢慢开始写博客来进行回馈。
如何解决这个问题,可以参考:点击打开链接
如何解决直接使用.so,而不需要引入jni文件夹,报错:Android NDK: Aborting...
我在完成hello-jni调试之后,然后想直接使用.so包而不需要jni文件夹了,因为实际开发的时候我们仅需要.so文件就可以了,但是当初直接在工程删除jni相关文件之后发现,一直报错:Android NDK: Aborting... ,开始我以为是我的.so有问题,但是发现我新建的Android工程可以正常调用,但是原工程却一直报错。。。郁闷了很久,就去问公司大神,他的回答给了我一些思路——可能是引入了不必要的配置,我马上去检查,发现配置真的是多了一些编译的东西,一般的Android工程是没有红框的东西的,如下:解决方法就是如下,去掉红框的文件,然后把黄框的文件和正常的文件比较,去掉关于ndk的东西,经过这两个步骤就可以解决了!
我的博客之旅才刚刚开始,以后我会继续努力的!!!
0 0
- mac配置NDK环境和演示调用jni的一个demo
- JNI之------NDK开发环境的配置
- 第一篇:AndroidStudio NDK的配置和使用,jni的第一个demo
- mac ndk 环境配置
- Mac配置NDK环境
- Android的JNI【实战教程】2⃣️--AS下NDK环境配置及第一个工程
- Android的JNI【实战教程】2⃣️--AS下NDK环境配置及第一个工程
- Mac OS的NDK环境配置
- Android NDK环境搭建及JNI开发java和C的相互调用的基本介绍
- Android Studio 最简单的NDK环境搭建和JNi调用
- android(NDK+JNI)---NDK开发 环境配置
- AndroidStudio环境下的jni调用(NDK)的方法
- Android-JNI环境搭建和调用流程+小demo
- Android-JNI环境搭建和调用流程+小demo
- JNI配置+NDK自带DEMO详解
- NDK JNI开发配置以及Demo
- Android NDK环境搭建及调用JNI的简单步骤
- Android Studio 下的NDK环境搭建与JNI调用
- java定时器
- SpringMVC 登录拦截器实现
- 微型气泵最大启动压力试验报告
- Java 内存区域和GC机制
- Uno 16bit定时器3
- mac配置NDK环境和演示调用jni的一个demo
- UITextView 响应 键盘的return(完成键)
- 微型泵输出流量脉动性研究
- STL容器-关联式容器set/multiset
- HDU5568 sequence2(dp+大数)
- java运行时出现内存溢出怎么办
- iOS 单例
- Leetcode Number of Digit One
- How to Read a Technical Paper