【发布时间】:2017-01-05 06:56:21
【问题描述】:
Android Studio 2.2 引入了 cmake 外部构建系统。问题是文档真的很缺乏,我不知道我应该如何链接第三方库?我试过 cmake 指令 target_link_libraries:
target_link_libraries(native-lib libs/libSomething.so)
它在该应用程序编译中“工作”,但随后我在运行时收到 dlopen 错误,因为 libSomething.so 尚未与应用程序打包。如果有任何改变,libs 目录位于“app”下,并且我已经开始使用 Android Studio 2.2 生成的默认 JNI 项目...
[更新]
我尝试将 libSomething.so 放在 app/src/main/jniLibs/armeabi-v7a 下,但现在“主”(native-lib)库未打包。
[更新2]
我添加了包含 cmake 输出目录的源集配置,这可以工作,但丑得要命,并不是真正的永久解决方案...
sourceSet
{
main
{
jniLibs.srcDirs = [ "libs", ".externalNativeBuild/cmake/debug/obj"]
}
}
【问题讨论】:
标签: android android-ndk cmake