Android Studio升级到1.3之后,可以进行NDK的开发了,但是目前对NDK的支持还只是experimental性质的,后续可能会有变化。
配置要求:
1、Gradle 2.5+;
2、Android NDK r10e;
3、SDK with Build Tools at least version 19.0.0
尽量使用最新版本的即可,目前Gradle版本已经是2.8,NDK版本是r10e,Build Tools版本是23.0.2。
配置文件修改:
新建NDK工程和新建一般的工程没有任何区别,我们需要修改配置才能支持NDK开发,需要修改的地方如下:
build.gradle修改以支持experimental插件:
gradle/wrapper/gradle-wrapper.properties修改:
app/build.gradle修改:
更加详细的修改见官网和GitHub,修改完成之后点击同步gradle:
至此,配置修改完成。
代码编写:
1、在app/src/main/java/目录下新建jni目录,然后新建hello-jni.c文件编写c代码;或者在先Java类中编写native方法,此时Android Studio会提示没有native方法,按住Alt+Enter会弹出解决方案,
再次敲击Enter则自动在app/src/main/java/jni/目录下为我们生成了hello-jni.c文件和对应的代码,此方法比手动编写hello-jni.c文件要方便很多。
注意,Java代码中的System.loadLibrary("hello-jni")的library的名称和app/build.gradle文件里面的android.ndk { moduleName ="hello-jni" }名称要统一,不然会报错java.lang.UnsatisfiedLinkError。
2、在Java中调用native方法:
3、运行可以看到效果: