在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.×××来进行判断,执行不同的代码块。
原文:http://www.cnblogs.com/alexjie-123/p/6095562.html