目录
一、前言
二、实战讲解
1>、NDK环境安装
1、不用安装Cygwin
2、Eclipse、ADT插件、NDK插件
3、注意点:
2>、项目案例讲解1-内部samples调用
3>、项目案例讲解2-so库的生成
由于各种原因创业维艰,虽然市场行情不好但是不要灰心,坚持积累总结加油总会有自己的康庄大道的。好了废话少说,其实在2013年做视频开发的时候,就开始接触过相关JNI 和 NDK编程,但是在最近的面试过程中,感觉对这块知识点有点模糊了,不是每个项目都会用到NDK,时间越长也就渐渐模糊了。
在这之前其实也做过相关笔记和总结,但是拾起来比较慢,也说不出所以然,所以干脆为了方便说明查阅单独整理写成一篇博文吧!也许这就是写博文的其中一个好处吧。如下图,曾经来过!主要还是告诫自己弄过的知识点要及时梳理、多总结、多写博文,在以后的开发当中方能事半功倍啊!
开头我就不讲概念的一些东西了,先把一些项目调用案例实战来一波吧!先知道怎么用,或许这是你项目开发正所需要的?或许你在用的时候就会思考很多为什么了?概念的东西网上很多,下篇文章再对概念进行集中轰炸。。。
Cygwin已过时,Cygwin安装浪费我大量时间。所以:时刻关注新技术、搜索时的关键字非常重要。如:此文档,你应该搜“Android NDK环境搭建2016”(注:2016年的笔记现在2019年来整理,但是Eclipse就是在2016年底就不更新了,所以如果你还用eclipse肯定可以用,现在都用Android Studio你懂得。。。该略过就略过吧!)
使用最新ndk,直接抛弃cygwin,以前2013年那会做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器、环境变量,特别麻烦,新版就不需要了。
Android官网下载Android的开发工具ADT(Android Development Tool的缩写),该工具集成了最新的ADT以及Eclipse、NDK,下载一个最新版本SDK,解压之后就可以用了。但NDK有的没有,如下:
查看是否有NDK?
Window-->Preferences-->Android-->NDK(我当时的Eclipse没有NDK选项),
需下载NDK插件( com.android.ide.eclipse.ndk_23.0.2.1259578.jar ),
将文件“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”复制到sdk 自带的eclipse目录的“plugins”下面,
重新启动eclipse,然后查看菜单->Window->Preferences->Android,效果如下:
Android官网下载最新的NDK(注:NDK版本在r7以上之后就集成了Cygwin,而且还是十分精简版。)
下载链接见:http://developer.android.com/tools/sdk/ndk/index.html
下载以后,自定义存放路径、解压,然后进行指定【路径不要包含空格和中文】
(1) 如果下载的NDK文件不对,会报错。我的报:not a valid ndk directory
(2) 选择的NDK位置仅对当前的Eclipse workspace有效哦。如果更改workspace,需要重新指定NDK的位置
实践成功,项目地址:D:\yyh_installSoft\androidTools\NDK_Info\code\TestNdkDemo
在NDK文件android-ndk-r10的samples目录下,找个实例运行看看。如:我找到的“hello-jni”
1、于是我自己随便新建一个android项目工程 TestNDKDemo
2、把 jni 文件拷贝到项目里面
3、添加原生C文件支持
上面这样以后会报错。
于是我把 MainActivity 类替换成 hello-jni 类,里面内容也都改成 hello-jni 类里面的内容,AndroidManifest.xml文件进行相应配置。然后添加原生C文件支持:右击工程 Android Tools,Add Native Support… ,Finish
然后,直接运行Android项目,自动生成了很多文件以及运行到手机上的效果图
详见下一篇文章:Android开发之JNI 和 NDK编程(二)so库的生成