问题描述:Android Studio 默认是gradle自动构建工具管理工程,在使用NDK编程时,需要调用第三方动态库(通过gradle方式无法配置实现)。
问题产生原因:反正我是不知道,怎么通过gradle配置调用第三方动态库。
问题解决办法:
- 关闭gradle自动构建NDK,将jni代码目录滞空,
sourceSets {
main {
jniLibs.srcDirs = ["src/main/jniLibs"]
jni.srcDirs = []
}
} - 手动编写mk文件,然后通过ndk-build命令手动编译jni代码
~/Android/Sdk/ndk-bundle/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
- 将手动编译生成的动态库拷贝到jniLibs供android调用即可(注:在Android java层 Load动态库时,需要先Load第三方动态库,再Load自己编译生成的动态库)。