1. 确认在工程的local.properties文件中添加NDK路径
sdk.dir=D\:\\Android\\sdk
ndk.dir=D\:\\Android\\sdk\\ndk-bundle
2. 确认在工程的gradle.properties文件中追加
android.useDeprecatedNdk=true
3. app module目录下的build.gradle的defaultConfig里面增加如下内容
ndk {
moduleName "NdkJniDemo" //生成的so名字
abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库,目前可有可无。
}
在 buildTypes 里面增加如下内容
debug{
jniDebuggable true
}
4. 新建 Folder -> Jni Folder
5. 写好Native类,在Native 方法上,点红点,第一个选项,会在jni目录中创建对应的c文件,并增加如下静态加载
static {
System.loadLibrary("NdkJniDemo");//之前在build.gradle里面设置的so名字,必须一致
}
6. cmd , cd app\build\intermediates\classes\debug
javah -jni com.yhsx.ndkjnidemo.JniUtils
会生成.h 头文件,把该文件移到 jni目录中,修改.c文件,增加头文件的include