原始需求:
分渠道打包,能区分线上线下版本,进而两个版本要共存。
分解:
1、分渠道打包
2、支持按渠道指定 app名称,app图标,app的标识(applicationId)
3、添加环境标记,在打包时指定线上线下环境
4、线下环境特殊配置,线上环境要有默认配置
一、分渠道打包
android {
...
//添加如下标签即可分渠道打包
productFlavors {
online {
}
offline {
}
}
...
}
二、支持按渠道指定 app名称,app图标,app的标识(applicationId)
>1、要修改app名称,app图标,我们可以使用Gradle的manifestPlaceholders实现。首先我们需要在配置文件(AndroidManifest.xml)预先定义好占位符,大致如下:
```
<application
android:name=".MyApplication"
android:allowBackup="false"
android:icon="${app_icon}"
android:label="${app_name}"
android:persistent="true"
android:theme="@style/AppTheme"
tools:replace="name,icon,allowBackup,label">
...
<meta-data
android:name="UMENG_CHANNEL"
android:value="${umeng_channel}"/>
...
</application>
```
然后在需要定制的渠道(比如说offline)中添加如下配置来更改占位符信息。
```
manifestPlaceholders = [app_icon : "@drawable/icon_logo",
app_name : "${appName}-测试",
umeng_channel : "test"]
```
>2、app的标识(applicationId)修改

最低0.47元/天 解锁文章
233

被折叠的 条评论
为什么被折叠?



