热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android开发分享在android应用程序中获取产品风味或构build变体

我有一个Android应用程序,在&#x

我有一个Android应用程序,在我的build.gradle文件中configuration了许多不同的产品口味

%ignore_pre_1%

在我的应用程序代码中,我希望能够获得当前编译的风格(或构build变体)的名称。 一个解决scheme是:

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

然后在我的Android应用程序调用BuildConfig.PRODUCT_FLAVOR

有什么方法可以让gradle自动执行此操作吗? 或者是有一些其他的API我可以用来获取产品风味名称?

    编辑:现在自动从插件的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_

    最后, BUILD_TYPE包含使用的构buildtypes的名称。

    如果你有一个味道维度,那么你只有FLAVOR常量。

    这是现在唯一的方法。

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

     android { productFlavors.whenObjectAdded { flavor -> flavor.buildConfig "public static final String PRODUCT_FLAVOR = "${flavor.name}";" } // your normal config here. } 

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

    接受的解决scheme是真棒。 对于某些情况,备用可能是有用的。

    你可以添加一个configuration文件,说'Appconfig.java'到你的productFlavor特定的源文件夹,例如src//java//Appconfig.java ; 您可以在应用程序中使用Appconfig.PRODUCT_FLAVOR 。 编译器会保持你的诚实,并确保你添加这个所有的味道。

    就像我说的,在这个特殊情况下,接受的解决scheme可能会更好,因为您甚至不需要为新产品Flavors添加任何东西,但是这种方法可能对其他情况有用。

    以上就是android开发分享在android应用程序中获取产品风味或构build变体相关内容,想了解更多android开发(异常处理)及android游戏开发关注(编程笔记)。


      推荐阅读
      author-avatar
      潇湘V烟雨
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有