gradle配置多渠道(动态设定App名称,应用图标等)

作者:燕歆波
导读:在gradle中配置动态设定App名称,应用图标等,为了解决重复替换图标,app名称多次打包的问题

gradle提供了productFlavors节点针对不同的版本做不同的配置:
比如有【游戏一】,【游戏二】,【游戏三】需要打包:

defaultConfig {
        applicationId "com.xin.wallepackage"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    
productFlavors{
        fruit{
            applicationId "com.xinbo.fruit"
            manifestPlaceholders = [app_name:"水果A",icon:"@mipmap/ic_fruit"]
            signingConfig signingConfigs.xinbo
        }
        hais{
            applicationId "com.xinbo.hais"
            manifestPlaceholders = [app_name:"haisA",icon:"@mipmap/ic_black"]
            signingConfig signingConfigs.xinbo
        }
        auncher{
            applicationId "com.xinbo.auncher"
            manifestPlaceholders = [app_name:"auncher",icon:"@mipmap/ic_launcher"]
            signingConfig signingConfigs.xinbo
        }
    }

在每个分之下都配置了applicationId属性,这样打包之后避免了覆盖安装的问题,然后对于不同的app,图标和名称也要求不一样,所以在分支下都配置了manifestPlaceholders属性,里面配置了app_name和icon字段,配置好后,需要在minifest中配置meta-data:
在这里插入图片描述这样的配置在使用assembleRelease打包时,会出现异常
在这里插入图片描述解决这个问题需要配置flavorDimensions属性:
可以直接配置在productFlavors节点的上面,然后在productFlavors下面每个分支下面配置dimension属性:
在这里插入图片描述如果存在多个flavorDimensions,会出现问题,这里也牵扯到多维度的问题,可以自行了解;
如果需要统一一个flavorDimensions,也可以把flavorDimensions配置到defaultConfig下面,这样productFlavors下面的分支就不用都写上dimension属性了:

在这里插入图片描述然后productFlvors下面分支的dimension的属性可以删除了,
最后,点击studio右上角的Gradle按钮:
在这里插入图片描述然后双击assembleRelease,成功后在app/build/outputs下面查看打的包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值