Android Studio正在将存根库捆绑到APK中 我使用Android Studio来构建一个本地C++项目。有一个依赖库(我们称之为lib.so),它需要与JNI库链接以解析它的一些符号。但是,我不希望将此库捆绑到APK中,因为这是一个存根库,仅用于链接目的。在我想要运行内置APK的Android设备上已经有了一个正确的lib.so和正确的符号定义
我正在导入存根库lib.so,以便与JNI库链接为: 添加库(已导入共享库) 设置_目标_属性(lib.so属性导入的_位置“LOCATION_of_lib.so”) 添加_依赖项(本机jni lib}) 目标链接库(本机jni库) 这样,APK编译是成功的,但是库被捆绑到APK中 我使用的是AS 4.0.1、NDK r19c、CMake 3.17。同一个项目过去按预期工作,也就是说,没有将库lib.so与APK绑定,但不知何故它开始绑定它。Android Studio正在将存根库捆绑到APK中 我使用Android Studio来构建一个本地C++项目。有一个依赖库(我们称之为lib.so),它需要与JNI库链接以解析它的一些符号。但是,我不希望将此库捆绑到APK中,因为这是一个存根库,仅用于链接目的。在我想要运行内置APK的Android设备上已经有了一个正确的lib.so和正确的符号定义,android,c++,android-studio,cmake,android-ndk,Android,C++,Android Studio,Cmake,Android Ndk,我正在导入存根库lib.so,以便与JNI库链接为: 添加库(已导入共享库) 设置_目标_属性(lib.so属性导入的_位置“LOCATION_of_lib.so”) 添加_依赖项(本机jni lib}) 目标链接库(本机jni库) 这样,APK编译是成功的,但是库被捆绑到APK中 我使用的是AS 4.0.1、NDK r19c、CMake 3.17。同一个项目过去按预期工作,也就是说,没有将库lib.so与APK绑定,但不知何故它开始绑定它。 任何调试此问题的线索都将不胜感激。请尝试使用查找库。
任何调试此问题的线索都将不胜感激。请尝试使用
查找库。将预构建的lib.so
(至少是坏名字liba.so
)放入某个路径,并将其添加到CMAKE\u FIND\u ROOT\u路径中
:
list(APPEND CMAKE_FIND_ROOT_PATH ${PREBUILT_LIBS_DIR}/${ANDROID_PLATFORM}/${ANDROID_ABI}/a)
它的外观示例:
~/my-proj/prebuilt-libs/android-28/x86/a/lib/liba.so
然后查找库并将其链接:
find_library(lib-a a)
target_link_libraries(native-jni lib-a)