Android Studio 多渠道打包中针对不同渠道不同应用名称的处理方法

来源:互联网 发布:淘宝宿迁店是指什么 编辑:程序博客网 时间:2024/05/18 02:18

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"]        }    }}



1 0