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下,但现在“main”(native-lib)库未打包。
[更新2]
我添加了源设置配置,包括cmake输出目录,这可以工作,但非常丑陋,并不是一个永久解决方案...
sourceSet
{
main
{
jniLibs.srcDirs = [ "libs", ".externalNativeBuild/cmake/debug/obj"]
}
}