很多项目都是一套代码,需要产生多个APP,可以使用product flavor构建一个应用的自定义版本,一个单一的项目可以同时定义多个不同的flavor来改变应用的输出,原理与多渠道打包的原理相同(动态设定App名称,应用图标,替换常量,更改包名)。
操作步骤如下:
1、在app.gradle中配置productFlavors,代码如下:
标题和启动图片动态配置方式在AndroidManifest.xml中如下:
3、项目使用常量
if (“郑州生产”.equals(getAppName())) {
//实现不同APK的处理
}
//获取本地的APP名称
public static String getAppName() {
return MyApplication.getContext().getResources().getString(R.string.app_name);
}
4、APK生成
点击查看Bulid/Generate Signed APK,选择下一步,填写签名密码,选择下一步,在弹出的Generate Signed APK对话框中,选择Flavors对应的值,就可以生成对应的APK,如下图所示:
5、注意事项
当引用到appName资源的时候会根据环境的不同区加载不同的内容,需要将资源中res/values/string.xml文件中的app_name字段删除,这样打包之后就会根据不同的环境加载不同的app_name。