NDK含义
百度百科:
Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。
众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。
NDK包括了:
从C / C++生成原生代码库所需要的工具和build files。
将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。
支持所有未来Android平台的一系列原生系统头文件和库。
为何要用到NDK?
概括来说主要分为以下几种情况:
1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库被反编译的难度较大。
2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。
3. 便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再
自身理解:
NDK就是个Android工具开发包,快速开发C、 C++的动态库,并自动将so和应用一起打包成 APK 即可通过 NDK在 Android中 使用 JNI与本地代码(如C、C++)交互,可以编译jni生成.so文件,并与java文件一起生成apk。方便地使用现存的开源库,便于移植。。
NDK下载地址
下载地址:https://developer.android.google.cn/ndk/downloads/index.html
NDK环境变量配置
这里需要注意一点的是本来ndk-bundle目录里有ndk-bundle.cmd(下面一图)和子目录的ndk-bundle.cmd(下面二图)
仔细看,两者不同在于1个0KB,1个1KB,大家千万不要把环境配置到0KB上面,不然是不对的
当环境配置好之后输入ndk-build,输出如下图就算配置完成。
NDK在Android Studio上配置
配置NDK路径
local.properties:
ndk.dir=D\:\\JavaSDK\\sdk\\ndk-bundle
sdk.dir=D\:\\JavaSDK\\sdk
gradle.properties:
android.useDeprecatedNdk = true;
此时就算配置完成了