我想编译 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