Android gradle实现多渠道号打包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android gradle实现多渠道号打包相关的知识,希望对你有一定的参考价值。

在build.gradle中添加

productFlavors{
     LETV {
applicationId "×××××××××××" //包名
  buildConfigField "boolean", "×××", "true" //添加 boolean BuildConfig.×××
}

}

根据productFlavors 的 name 属性来动态修改icon,label

productFlavors.all {
flavor ->
if (name.equals("×××")) {//和上面buildConfig中的变量名对应
flavor.manifestPlaceholders = [CHANNEL_NAME: name, app_label: "@string/app_name", app_icon: "@mipmap/ic_launcher"]
        } else {
flavor.manifestPlaceholders = [CHANNEL_NAME: name, app_label: "@string/app_name1", app_icon: "@mipmap/ic_launcher1"]
}
}

 

androidManifest.xml 修改:

<application
 android:name=".Application"
 android:hardwareAccelerated="true"
 android:icon="${app_icon}"
 android:label="${app_label}"
 android:largeHeap="true"
 android:theme="@style/AppTheme"
 tools:replace="android:label,android:icon"》

在应用层开发中,通过BuildConfig.×××来进行判断,执行不同的代码块。

以上是关于Android gradle实现多渠道号打包的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 实现 Android 多渠道定制化打包

android——利用gradle实现多渠道打包并自定义包名(umeng多渠道)

Android QA专用,Python实现不一样的多渠道打包工具

Android QA专用,Python实现不一样的多渠道打包工具

Walle(瓦力)多渠道打包-gradle脚本-可360加固一键打包

android -------- Gradle 多渠道打包