使用Gradle文件进行分包操作

1.在开发过程中会有多个平台不同包名的打包需求,这里记录一下使用Gradle来进行分包操作的笔记。

productFlavors {
        googleplay_A {
            applicationId "com.demo.demoA"
            versionName '1.1.2'
            buildConfigField("int", "APP_TYPE", "0")
            buildConfigField("int", "UNIT_TYPE", "0")
            buildConfigField("int", "APP_LOCATION", "0")
            manifestPlaceholders = [APP_ICON: "@mipmap/ic_launcher"]
            resValue "string", "app_name", "EasyTouch"
        }
        googleplay_B {
            applicationId "com.demo.demoB"
            versionName '1.1.2'
            buildConfigField("int", "APP_TYPE", "0")
            buildConfigField("int", "UNIT_TYPE", "1")
            buildConfigField("int", "APP_LOCATION", "0")
            manifestPlaceholders = [APP_ICON: "@mipmap/ic_launcher"]
            resValue "string", "app_name", "EasyTouch"
        }

2.对于不同的包需要使用到不同的属性,有如下方式:

2.1 buildConfigField("int", "APP_TYPE", "0")使用Build参数,代码中使用如下:

int appType=BuildConfig.APP_TYPE;

2.2 manifestPlaceholders = [APP_ICON: "@mipmap/ic_launcher"]使用替代符,使用在XML中。使用如下:

<application
  android:largeHeap="true"
  android:name=".MyApplication"
  android:allowBackup="true"
  android:icon="${APP_ICON}"
  android:label="@string/app_name"
  android:persistent="true"
  android:supportsRtl="true"
  android:theme="@style/AppTheme">
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,319评论 25 709
  • 1. 前言 11月分劳务派遣进了家大公司orz,开始一个新的项目。当我将一张切图分别放在drawable的各个dp...
    AItsuki阅读 38,931评论 25 147
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,515评论 2 59
  • 最近在项目中遇到需要实现 Apk 多渠道、定制化打包, Google 、百度查找了一些资料,成功实现了上述功能,在...
    看一季残花落幕阅读 7,355评论 1 8
  • 生活和广阔的大海那样微妙,时时刻刻发生一点变化都足以让人措手不及。在潮起潮落间,平静的水面,在丝丝的波澜中看风起云...
    四叶草紫丁香阅读 1,198评论 0 0

友情链接更多精彩内容