gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:24 24 4
gpt4 key购买 nike

我有一个基于 cmake 的构建脚本的跨平台库。由于现在可以使用 cmake 对 android 的支持(https://developer.android.com/studio/projects/add-native-code.html),我打算将 ndk-build makefile 移到垃圾箱。
我测试过find_package(ZLIB REQUIRED)它运行良好,因为 zlib header 和库本身可用于 NDK sysroot 中的所有 ABI。因此,我可以根据口味或构建类型向 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_libraryinclude_directories${ANDROID_ABI} 结合使用,但我已经有了工作脚本有了多平台支持,我不想添加脏代码,因为有一种干净的方法 (find_package + CMAKE_PREFIX_PATH)。

谢谢大家的宝贵时间!

最佳答案

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

关于android - 可以在 gradle 中为每个 ABI 设置 cmake 参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40153447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com