本文参考: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。

android下载指定ndk版本 android studio ndk下载_android下载指定ndk版本

安装文件在:

android下载指定ndk版本 android studio ndk下载_Android_02

将该路径配置到你系统变量的path里面去,如下:

android下载指定ndk版本 android studio ndk下载_Android_03

然后将 NDK_ROOT追加到 Path环境变量下-->;%NDK_ROOT% 

android下载指定ndk版本 android studio ndk下载_android下载指定ndk版本_04

打开 cmd,输入 ndk-build,看看是否有东西输出。

3. JNI的使用方法

android下载指定ndk版本 android studio ndk下载_Android_05

要先build一下project,具体方法为:Build->Rebuild Project。

android下载指定ndk版本 android studio ndk下载_Android_06

  >>相关阅读: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,截图如下: