本文参考:Android Studio NDK环境配置及JNI使用方法:
并添加自己的实践:
1.前言
什么是NDK?
NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和Java应用一起打包成apk。NDK集成了交叉编译器(交叉编译器需要UNIX或Linux系统环境),并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。
为什么使用NDK?
1. 代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。
2. 可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。
3. 提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。
4. 便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用。
什么是JNI?
JNI的全称是Java Native Interface,它提供了若干的API实现了Java和其他语言的通信(主要是C和C++)。
为什么使用JNI?
JNI的目的是使java方法能够调用c实现的一些函数。
安卓中的so文件是什么?
Android中用到的so文件是一个C++的函数库。在Android的JNI中,要先将相应的C语言打包成so库,然后导入到lib文件夹中供java调用。
Android Studio NDK及so文件开发
2. NDK安装及配置
NDK安装
Android Studio从1.3 Beta1开始,支持了NDK。之前则不支持,所以我们建议使用新版的编辑器。
如果未安装,点击安装下载;打开Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK,点击确认,软件会自动安装NDK。
安装文件在:
将该路径配置到你系统变量的path里面去,如下:
然后将 NDK_ROOT追加到 Path环境变量下-->;%NDK_ROOT%
打开 cmd,输入 ndk-build,看看是否有东西输出。
3. JNI的使用方法
要先build一下project,具体方法为:Build->Rebuild Project。
>>相关阅读:Android Studio 新建 NDK Javah生成JNI头文件出现找不到类的错误
>>相关阅读:NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
NDK下载:https://developer.android.com/ndk/downloads/index.html
第二种方法:NDK for Eclipse
本文参考:在eclipse中android NDK开发环境的搭建: 以及 Eclipse下Android的NDK开发环境配置:
网上有很多关于搭建Android NDK开发环境的文章,发现很多都不能用,大部分都是过时的,比如安装什么Cygwin,在eclipse里面新建什么Builder之类的,有的只有部分内容。经过一天的摸索终于搭建好了android NDK开发环境,包括C/C++的调试等,废话不多说,开始我们的搭建流程。
首先、下载android NDK,得到一个android-ndk-r10d-windows-x86_64.exe的安装文件,双击解压得到一个android-ndk-r10d的文件夹。安装android NDK,前提是你必须是安装android sdk,能够看到这儿,应该是已经安装android sdk了的,点击菜单Window-->Preferences-->Android-->NDK,在NDK Location中输入之前android-ndk-r10d的全路径,点击OK,截图如下: