Android Studio 多渠道打包的文章相信大家看到的应该很多了。小单的这篇就非常不错,很齐全:http://blog.csdn.net/catoop/article/details/50435431
但是很多公司应该有这种更细微的需求:不同的渠道号要对应不同的应用名字。比如小米的渠道,应用的名字叫”小米XXX“等等。
网上有很多对这个问题的处理方法,一种是用shell脚本修改AndroidManifest,一种是增加N个xml文件,文件中声明应用的名字。这些方法用起来都比较麻烦,还容易出错。
现在有一种简便的方法处理这个问题。
1)对AndroidManifest中<application>标签下的android:label进行赋值:android:label="${APP_NAME}"
2)这一步很关键,只做了第一步后,在编译的时候会报错,这里需要将android:label声明为可以修改的,也就是在<application>标签中增加:tools:replace="android:label"
3)最后根据网上的教程,配置build.gradle文件即可。
最后附上核心代码片段,愿各位以后打包的时候可以一键打包,安心喝茶啦。
<application
android:name="XXXApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="${APP_NAME}"
android:theme="@style/AppTheme"
tools:replace="android:label">
android {
XXXXXXX
// 渠道
productFlavors {
wandoujia {
manifestPlaceholders = [APP_NAME: "豌豆荚Name",
APP_CHANNEL: "wandoujia"]
}
xiaomi {
manifestPlaceholders = [APP_NAME: "小米Name",
APP_CHANNEL: "xiaomi"]
}
}
}