Android开发之JNI 和 NDK编程(一)内部samples的调用

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/88046198

 

文章目录

一、前言

二、实战讲解

1>、NDK环境安装【Eclipse】

1、不用安装Cygwin

2、Eclipse、ADT插件、NDK插件

3、注意点:

2>、项目案例讲解1-内部samples调用【eclipse】

3>、项目案例讲解2-so库的生成【eclipse】


一、前言

由于各种原因创业维艰,虽然市场行情不好但是不要灰心,坚持积累总结加油总会有自己的康庄大道的。好了废话少说,其实在13年开始就接触过相关JNI 和 NDK编程,但是在最近的面试过程中,感觉对这块知识点有点模糊了,不是每个项目都会用到NDK,时间越长也就渐渐模糊了。在这之前其实也做过相关笔记和总结,但是拾起来比较慢,也说不出所以然,所以干脆为了方便说明查阅单独整理写成一篇博文吧!也许这就是写博客的其中一个好处吧。如下图,证明曾经来过,主要还是告诫自己弄过的知识点要及时梳理、多总结、多写博客,在以后的开发当中方能事半功倍啊!

二、实战讲解

开头我就不讲概念的一些东西了,先把一些项目调用案例实战来一波吧,先知道怎么用。或许这是你项目开发正所需要的?或许你在用的时候就会思考很多为什么了?概念的东西网上很多,下篇文章再对概念进行集中轰炸。。。

1>、NDK环境安装【Eclipse】

1、不用安装Cygwin

Cygwin已过时,Cygwin安装浪费我大量时间。所以:时刻关注新技术、搜索时的关键字非常重要。如:此文档,你应该搜“Android NDK环境搭建2016”(注:2016年的笔记现在2019年来整理,但是Eclipse就是在2016年底就不更新了,所以如果你还用eclipse肯定可以用,现在都用Android Studio你懂得。。。该略过就略过吧!)使用最新ndk,直接抛弃cygwin,以前2013年那会做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器、环境变量,特别麻烦,新版就不需要了。

2、Eclipse、ADT插件、NDK插件

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

下载以后,自定义存放路径、解压,然后进行指定【路径不要包含空格和中文】

3、注意点

(1)如果下载的NDK文件不对,会报错。我的报:not a valid ndk directory

(2)选择的NDK位置仅对当前的Eclipse workspace有效哦。如果更改workspace,需要重新指定NDK的位置

2>、项目案例讲解1-内部samples调用【eclipse】

实践成功,项目地址: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项目,自动生成了很多文件以及运行到手机上的效果图

3>、项目案例讲解2-so库的生成【eclipse】

详见下一篇文章:Android开发之JNI 和 NDK编程(二)so库的生成

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/88046198