我想编译 bundle 在我的项目中的库。我遇到了两个问题。

Cmake似乎没有检测/包含该目录的第一个。

第二个是在检测/包含 bundle 目录而不是android工具链后,使用系统的一个目录来编译库。

作为第一期的解决方法,我添加了if(ANDROID)来添加该目录,以便可以将其包括在内。

if(EXISTS "${CMAKE_SOURCE_DIR}/libs/CMakeLists.txt")
    message(STATUS "Using bundled libraries located at ${CMAKE_SOURCE_DIR}/libs")
    if(ANDROID)
        add_subdirectory(libs)
    else()
        include(libs/CMakeLists.txt)
    endif()
else()

因此,对我而言,预期结果应遵循以下命令,包括libs / CMakeLists.txt并使用NDK提供的工具链构建库

最佳答案

如果您尝试对本机组件使用非ndk预建库,则按如下所述将这些库详细信息添加到CMake中。

add_library( imported-lib
             SHARED
             IMPORTED )
set_target_properties( # Specifies the target library.
                       imported-lib

                       # Specifies the parameter you want to define.
                       PROPERTIES IMPORTED_LOCATION

                       # Provides the path to the library you want to import.
                       imported-lib/src/${ANDROID_ABI}/libimported-lib.so )

https://developer.android.com/studio/projects/configure-cmake#add-other-library

10-06 13:20