gpt4 book ai didi

android - 在 Android 应用中获取产品 flavor 或构建变体

转载 作者:IT王子 更新时间:2023-10-29 00:03:49 27 4
gpt4 key购买 nike

我有一个 Android 应用程序,在我的 build.gradle 文件中配置了许多不同的产品风格,例如

productFlavors {
someFlavor {}
anotherFlavor {}
}

在我的应用程序代码中,我希望能够获得当前编译的 flavor (或构建变体)的名称。一种解决方案是:

productFlavors {
someFlavor {
buildConfig "public static final String PRODUCT_FLAVOR = \"someFlavor\";"
}
anotherFlavor {
buildConfig "public static final String PRODUCT_FLAVOR = \"anotherFlavor\";"
}
}

然后在我的 android 应用中调用 BuildConfig.PRODUCT_FLAVOR

有什么方法可以让 gradle 自动执行此操作吗?或者我可以使用 android 中的其他 API 来获取产品 flavor 名称?

最佳答案

编辑:现在从插件的 0.7 版开始自动完成。 BuildConfig.java将包含

public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "f1Fa";
public static final String FLAVOR_group1 = "f1";
public static final String FLAVOR_group2 = "fa";

FLAVOR是应用了所有 flavor 维度/组的组合 flavor 名称。然后每个维度都可以作为 FLAVOR_<group name> .

最后BUILD_TYPE包含使用的构建类型的名称。

如果您只有一个 flavor 维度,那么您只有 FLAVOR常数。

这是目前唯一的方法。

您可以做的一件事就是自动化它。所以你可以这样做:

android {
productFlavors.whenObjectAdded { flavor ->
flavor.buildConfig "public static final String PRODUCT_FLAVOR = \"${flavor.name}\";"
}

// your normal config here.
}

这样你就不必为每种口味手动做。

关于android - 在 Android 应用中获取产品 flavor 或构建变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976050/

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