我必须在Gradle中为不同的ABI使用不同的参数参数,如下所示:
externalNativeBuild {
cmake {
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64)$")
arguments "-UV_LIBRARY=src/main/cpp/libuv/lib/libuv_armv8.a"
else
arguments "-UV_LIBRARY=src/main/cpp/libuv/lib/libuv_armv7.a"
}
}
有什么想法吗?
答案 0 :(得分:3)
Gradle会设置ANDROID_ABI
CMake变量(link),因此您可以在CMakeLists.txt
而不是build.gradle
中执行此操作:
if(ANDROID_ABI STREQUAL "armeabi-v7a")
target_link_libraries(target_name PUBLIC "src/main/cpp/libuv/lib/libuv_armv7.a")
elseif(ANDROID_ABI STREQUAL "arm64-v8a")
target_link_libraries(target_name PUBLIC "src/main/cpp/libuv/lib/libuv_armv8.a")
endif()