android – 可以在gradle中为每个ABI设置cmake参数吗?

前端之家收集整理的这篇文章主要介绍了android – 可以在gradle中为每个ABI设置cmake参数吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有基于cmake的构建脚本的跨平台库.由于现在可以使用cmake对 android支持( https://developer.android.com/studio/projects/add-native-code.html),我计划将ndk-build makefile移动到垃圾箱.
我测试了find_package(ZLIB required)
并且它运行良好,因为zlib头和库本身可用于NDK sysroot中的所有ABI.
所以,我可以为每个flavor或build类型的cmake cmdline添加任何自定义参数:
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        externalNativeBuild {
            cmake {
                arguments "-DMYLIB_ENABLE_PROGUARD=ON"
            }
        }
    }
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        externalNativeBuild {
            cmake {
                arguments "-DMYLIB_ENABLE_PROGUARD=OFF"
            }
        }
    }
}

我的问题是能够为每个ABI设置CMAKE_PREFIX_PATH以通过FindPackage查找外部静态/共享库.

一般来说,我可以在cmake脚本本身中将find_library和include_directories与${ANDROID_ABI}结合使用,但我已经有了多平台支持的工作脚本,我不想添加代码,因为有干净的方法( find_package CMAKE_PREFIX_PATH).

谢谢大家的时间!

解决方法

这不是我们目前支持的.我认为它应该是可能的.我打开b.android.com/225884来跟踪它.

猜你在找的Android相关文章