一套代码达到以下效果:
- 打包不同applicationId能同时安装在同一手机上
- 不同logo,app名称,
- 不同第三方SDK接入配置(例如微信分享appid,激光推送appkey)
- 能区分debug和release配置
使用到的功能:productFlavor和buildTypes
原理:优先级buildTypes大于productFlavor
示例:一套代码为两家银行打包apk
1. 修改build.gradle。buildTypes保持默认debug和release两种设置即可,android节点内添加两个productFlavor。
flavorDimensions 'bank' productFlavors { icbc { dimension = 'bank' applicationId='com.icbc.mobilebank manifestPlaceholders = [bankName: '工商银行'] } ccb { dimension = 'bank' applicationId = 'com.cbc. mobilebank manifestPlaceholders = [bankName: '建设银行'] } }
2. 修改src\main\AndroidManifest.xml,使用"${bankName}"和${applicationId}替换相应位置