文章地址:https://blog.xujiaji.com/post/android-project-one-for-more
该项目为该文章Demo
其他的一些问题整理
- 不同的应用名称
- 不同的版本
- 不同的java文件
- 不同的图片资源
- 不同的文本资源
- 不同的assets文件资源
- 不同的网络资源
- 不同的主题颜色
- 不同的第三方key
- 不同的依赖类库
- 等等
library中也需要动态改变资源配置,并且打包如何加上中文名 #3
- 如需要中文名,只需要switch语句为对应渠道添加上即可,
outputFileName
拼接的结果就是最终的文件名
applicationVariants.all {
variant ->
variant.outputs.all {
def chineseName = ""
switch(variant.productFlavors[0].name) {
case "oneApk":
chineseName = "第一个APK"
break
case "twoApk":
chineseName = "第二个APK"
break
case "threeApk":
chineseName = "第三个APK"
break
}
outputFileName = "${chineseName}-${variant.productFlavors[0].name}-v${variant.productFlavors[0].versionName}-${releaseTime()}.apk"
}
}
- 下图展示了对library的配置,只需在library也添加上对应的渠道和文件夹即可(和主模块同理)。需注意如果使用library的
BuildConfig
注意包名,如本例子中的MainActivity
使用了全路径com.xujiaji.library.BuildConfig