Ufo*_*oXp 12 android cmake android-ndk
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)库.
[UPDATE2]
我已经添加了包含cmake输出目录的源集配置,这可行,但是很难看,因为地狱并不是真正的永久解决方案......
sourceSet
{
    main
    {
        jniLibs.srcDirs = [ "libs", ".externalNativeBuild/cmake/debug/obj"]
    }
}
Ufo*_*oXp 14
现在我最终在后期构建步骤中将libSomething.so复制到cmake库输出目录.这是有效的,因为事实证明Android Studio复制到该目录中的apk EVERYTHING.
命令cmake输入如下:
add_custom_command(TARGET native-lib POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy
        ${CMAKE_CURRENT_SOURCE_DIR}/libs/${ANDROID_ABI}/libSomething.so
        ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libSomething.so
    )
| 归档时间: | 
 | 
| 查看次数: | 7585 次 | 
| 最近记录: |