总有各种奇葩的项目需求,一个项目整成3~4个不同版本,代码基本上相同,仅仅是渠道可能不大一样需要改变应用的的ID,图标和部分文字显示的不同,如果创建多个项目,一旦出现了BUG将要逐个修改,好不费力……于是GRADLE刚好有这个解决方案。
AndroidStudio的productFlavors实现这个功能,通过它来修改每个版本不同的部分,或者通过判断当前所使用的app是哪个版本,执行对应版本的代码。

左侧为PRO版本,右侧为普通版本,如何实现?
在app.gradle添加图下的代码

注意上面的红框圈起来的代码必须加上
productFlavors{
home {
applicationId "com.yourapp.home"
manifestPlaceholders = [APP_NAME: "@string/app_name"]
}
pro {
applicationId "com.yourapp.pro"
manifestPlaceholders = [APP_NAME: "@string/app_name_pro"]
}
}

修改AndroidManifest清单的label,动态匹配app名称。在string中添加app_name_pro,专业版的名字!OK,搞定这几步就可以了,然后运行的时候可以点击AS的左侧Build Variants选择对应的版本运行

打包同样多了版本的选择

最后说一点,如果想改变图片,在src下面创建home和pro文件夹,分别在这2个目录下添加drawable目录,放上图标,在AndroidManifest引用图标名称即可。
本文链接:https://it72.com/12546.htm