【问题标题】:CMAKE arguments for different ABI in GradleGradle 中不同 ABI 的 CMAKE 参数
【发布时间】:2018-06-02 21:46:31
【问题描述】:

我必须在 Gradle 中为不同的 ABI 使用不同的 arguments 参数,如下所示:

        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"
            }
        }

有什么想法吗?

【问题讨论】:

    标签: android gradle cmake android-ndk


    【解决方案1】:

    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()
    

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多