在android studio开发环境中集成NDK和引入os文件时需要进行如下配置,否则会出现找不到os文件报错的问题。
1、配置build.gradle文件,这里的build.gradle是指app模块下的build.gradle,不是整个工程的build.gradle文件。在模块的build.gradle的defaultConfig下加入以下ndk配置:
ndk {
moduleName"slam_interface"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
其中moduleName是跟进os文件名来确定的,与将来在Java类中使用System.loadLobrary(“本地库名称”);以及生成的.so文件名称对应;
ldLibs是要用到的jni库,一般由google提供,比如上边引入的log库可以让我们在C代码中使用LogCat日志;
abiFilters指的是我们要生成哪些平台的so文件,这里生成arm平台和x86平台;
配置后的build.gradle文件如下图所示:
2、另外还有关于os文件放置位置的配置,默认情况下系统指向的so包就去src/main/jniLibs目录下找。所以如果是放置在这个路径下是不需要配置的,如果放在其他路径下则需要进行配置。
至此build.gradle文件就配置完了。
3、接下来需要配置gradle.properties文件,在gradle.properties文件的最后一行加上android.useDeprecatedNdk=true
操作完上述步骤后,就可以进行ndk开发了。