android ndk环境配置

首先 简单明了 的说一下,ndk  和 sdk  分明是 什么东东,(高手 请捂耳朵,)


最近由于项目的需要,使用到了Android的NDK技术,对项目核心算法跨平台的移植。简答而言,就是使用C对原来的算法进行了改进,并集成到原 来的app项目里。

     从前的项目一直没有使用NDK进行开发的机会,因而一直仰慕那些技术大牛们关于NDK以及C/C++开发而写的文章,觉得很深奥,因而一直蠢蠢欲动。

     其实NDK的开发并不复杂,就入门而言甚至可以说是easy job,觉得它难是难于C/C++代码的编写与调试。这个是我最近从事NDK开发的一点感受!

     首先,我们要弄懂几个概念,何为NDK,它和SDK以及JNI有什么关系?请前看下图:




对于 android sdk (Android Software Development Kit, 即Android软件开发工具包)可以说只要你使用java去开发Android这个东西就必须用到。他包含了SDK Manager 和 AVD Manage、对于android系统的一些开发版本的管理以及模拟器管理。

而 ndk (Native Development Kit)跟sdk差不多的是他也是一个开发工具包。用他开发c/c++是很方便的。他有一个强大的编译集合。

我来说说android他为什么会有一个ndk吧。

很早以前android是只有sdk的,并没有ndk。这就意味着一旦android的开发者要使用c/c++的三方库或者需要用到c/c++就必须使用非官方的法子,用java的jni去调用c/c++,耍小聪明走后门一样。而ndk的出现就意味着jni调用的这种方法转正了变成官方了以后你不需要再走后面大路正面随你走。

为什么要有ndk啊?因为如果你要操作底层直接操作内存。操作地址那你不得不去使用c/c++,因为java这块想做这些,那恐怕有点困难,所以ndk是必须需要出现的。

而这个sdk和ndk并不是完全不相溶的2门语言,对于android来说是同种语言的2种不同时期的必须品。

最后想说如果你做android开发想要做得更好你就必须要ndk的。

JNI 是 java 调用 native interface 的功能,是 java的特性。

NDK 是 android 提供的底层开发包 。

那这两种方式是不是都能实现啊?
说白了:就是!

你用 ndk 做好底层接口 用 jni 去调用。这就明白了,等于java自己封装了一套,android也搞了一套更方便的。


上面是说明 NDK 和 SDK  下面来说怎么配置

SDK 就不用说了,一般下载里面都会有,配置下 ADB 就好了,在 Android\sdk\platform-tools  下 adb 


主要讲 ndk 怎么配置


先准备好 两种 工具  android-ndk-r10d-windows-x86_64.exe    com.android.ide.eclipse.ndk_23.0.2.1259578.jar

android-ndk-r10d-windows-x86_64.exe   下载 地址: 软件百度云链接:http://pan.baidu.com/s/1nt9g7zz 密码:50m4

在我上传的 资源中慢慢找,,大笑


将“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”搞到 eclipse 的 下面的目录中

 "D:\Android\adt-bundle-windows-x86_64-20140702\eclipse\plugins\com.android.ide.eclipse.ndk_23.0.2.1259578.jar"



第二步:将下载下来的“android-ndk-r10c-windows-x86_64.exe”放到“D:\Android“目录下面,然后双击安装,便会自动解压到"D:\Android"下面

第三步: 打开 eclipse 选择菜单栏上的[Window->Perferences->Android->NDK]设置 NDK Loaction 为D:\Android\android-ndk-r10d;

 配置 ndk 


第四步:添加环境变量  NDK_ROOT 为:   D:\Android\android-ndk-r10d

在环境变量 PATH 下追加 :%NDK_ROOT%;




如上图,即为成功


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值