安卓之JNI 和 NDK编程(一)内部samples的调用

目录

一、前言

二、实战讲解

1>、NDK环境安装

1、不用安装Cygwin

2、Eclipse、ADT插件、NDK插件

3、注意点:

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

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


一、前言

由于各种原因创业维艰,虽然市场行情不好但是不要灰心,坚持积累总结加油总会有自己的康庄大道的。好了废话少说,其实在2013年做视频开发的时候,就开始接触过相关JNI 和 NDK编程,但是在最近的面试过程中,感觉对这块知识点有点模糊了,不是每个项目都会用到NDK,时间越长也就渐渐模糊了。

在这之前其实也做过相关笔记和总结,但是拾起来比较慢,也说不出所以然,所以干脆为了方便说明查阅单独整理写成一篇博文吧!也许这就是写博文的其中一个好处吧。如下图,曾经来过!主要还是告诫自己弄过的知识点要及时梳理、多总结、多写博文,在以后的开发当中方能事半功倍啊!

二、实战讲解

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

1>、NDK环境安装

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调用

实践成功,项目地址: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库的生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值