1、why: 为啥学
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西;另外就是为了效率更加高些;Android ndk 提供 了 opengls
2、what 是什么
The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so you can reuse existing code libraries written in these languages, but most apps do not need the Android NDK.
NDK工具集,允许您使用本机代码实现 部分应用程序语言(比如C和c++。对于某些类型的应用程序,这可以帮助你可以重用现有代码库用这些语言编写的,但大多数应用程序不需要Android NDK;
3、how 如何用
在androidstudio 使用ndk
a、下载ndk
在local.properties配置ndk.dir=/Users/xiuer/android/android-sdk-macosx/ndk-bundlesdk.dir=/Users/xiuer/android/android-sdk-macosx
b、新建一个javaclassndktest.JAVA
1、定义一个原生的方法: Public native StringgetString(); 在static方法内 static { System.loadLibrary("hellow_jni"); }2、这里的“hellow_jni”需要在build.gradle配置defaultConfig{applicationId"com.org.xiuer.androidlearningmanual"minSdkVersion19targetSdkVersion24versionCode1versionName"1.0"//在这里配置ndk{moduleName='hellow_jni'abiFilters"armeabi","armeabi-v7a","x86"}}}
c、接着用c、c++实现我们在java类中指定的方法
我们可以用命令javah生成头文件.h
app/创建jni目录,用来存放c或c++文件;上面的hellow_jni 是c文件的文件名;d、接着在activity里面调用java类里面本地的方法就可以了;
总结
这就是 ndk 的简单使用;主要借助于jni;jni(java native interface的缩写)java 的本地调用;说的简单一点,jni就是一种技术,通过他可以实现 java写的函数与本地函数可以相互调用;本地函数一般指的是c/c++ 写的函数;