gpt4 book ai didi

android - 如何覆盖 buildTypes 中的 defaultConfig abiFilters

转载 作者:行者123 更新时间:2023-11-29 15:34:41 25 4
gpt4 key购买 nike

abiFilters 在 android build.gradle defaultConfig block 中设置。

我想从发布 buildType 中排除 x86,但找不到简单的方法来做到这一点

这是build.gradle:

defaultConfig {
ndk {
abiFilters "armeabi", "x86"
moduleName "cipher_v1"
cFlags "-DRELEASE=1"
if (rootProject.ext.has("testCrack")) {
cFlags += " -DTEST_CRACK"
}
if (project.ext.has("authKey") && project.ext.has("androidId")) {
cFlags += "-DAUTH_KEY=\\\"" + project.ext.authKey + "\\\""
"-DANDROID_ID=\\\"" + project.ext.androidId + "\\\""
}
}
}

buildTypes {
release {
ndk {
abiFilters "armeabi"
}
}
}

这是我得到的:

unzip -l base-release.aar|grep cipher
17752 02-01-1980 00:00 jni/armeabi/libcipher_v1.so
17640 02-01-1980 00:00 jni/x86/libcipher_v1.so

这是我真正想要的:

unzip -l base-release.aar|grep cipher
17752 02-01-1980 00:00 jni/armeabi/libcipher_v1.so

我想在 defautlConfig block 中保留完整的 abiFilters

并在某些buildType

中指定

编辑 1:

是的,在 debugrelease block 中删除 defaultConfig 并设置 abiFilters 会起作用。但我的问题是如何利用 defaultConfig

最佳答案

提供命令行选项,例如“no_x86

  1. 将下面添加到您的 app/build.gradle

    defaultConfig {
    ndk {

    ...
    if (project.hasProperty("no_x86")) {
    abiFilters "armeabi"
    } else {
    abiFilters "armeabi", "x86"
    }

    ...
    }
    }
  2. 通过向命令提供选项 no_x86,使用下面的命令生成没有 x86 ABI 的 APK。

    ./gradlew assemble -Pno_x86

    但如果您想使用 x86 abi 构建 APK,请不要将选项 no_x86 提供给命令。由于 defaultConfig 是根据您的要求保留完整的 abiFilters。

    对于某些buildType,您可以通过输入或不输入-Pno_x86属性来调用相应的构建命令。例如。 ./gradlew assembleRelease -Pno_x86

引用: https://stackoverflow.com/a/52980193/8034839

关于android - 如何覆盖 buildTypes 中的 defaultConfig abiFilters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53322169/

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