productFlavors使用

一、概述

因为公司项目需要从主体软件中,分出一个公版的APP,公版APP在软件名称、versionCode、versionName、软件图标、部分界面需要差异化。查阅相关资料,决定通过productFlavors来实现部分图片以及界面的差异化。

二、实现

软件名称、versionCode、versionName差异化

在build.gradle文件

defaultConfig {
		//不涉及直接填写,不填写3.0之后会报错。
        flavorDimensions ""
}
//这里的内容会替换修改defaultConfig里面相应的内容
productFlavors {
        //公版
        pri {
        	//这种格式可以动态添加相应的资源内容,注意这里是添加不是修改,会和本身同命名的资源冲突。
            resValue 'string', 'app_name', '我是公版'
            //这里会替换修改defaultConfig里面相应的内容
            versionCode 4
            versionName "Version 5.0.0"
        }
        //公司
        pub {
            resValue 'string', 'app_name', '我是私版'
            versionCode 21
            versionName "Version 5.1.0"
        }
    }

软件图标、部分界面差异化

通过创建与main同级的文件实现图片资源以及界面差异化
文件名称要与productFlavors中对应,我这里用的是pri和pub。
1、pri和pub与main中res文件的目录路径与main完全相同的则替换,不同的则合并。
2、pri和pub与main中java同名文件会冲突,不同则合并。

我这里在res中放置两个同名图片ic_lanucher.png实现软件图标的差异化,在java文件中实现部分界面的差异化。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值