Build Variants Android变体构建配置

官方文档

主Module中build.gradle
  • defaultConfig
defaultConfig {
    applicationId "XXX.XXX.com.XXX"
    minSdkVersion 16
    targetSdkVersion 28
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
  • signingConfigs
signingConfigs {
    config {
        keyAlias 'XXX'
        keyPassword 'XXX123'
        storeFile file('D:/XXX/XXX.jks')
        storePassword 'XXXX'
    }
}
  • buildTypes
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
    }
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
    }
}
  • productFlavors
flavorDimensions "fix"
productFlavors {
    online {
        versionCode 1//该风味版本码
        versionName "1.0"//该风味版本名称
        dimension "fix"
    }
    offline {
        versionCode 2//该风味版本码
        versionName "2.0"//该风味版本名称
        dimension "fix"
        applicationIdSuffix ".fix"//设置该风味applicationId,会在原有得applicationId后面追加.fix(至此online风味包与offline风味包可以在同一部机器上共存,相当于马甲包了)
        versionNameSuffix "-fix"//设置该风味版本名称,会在原有得versionName后面追加-fix
    }
}
  • 为打包好的APK重新命名
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}
Sync Now 查看变体类型

在这里插入图片描述

为APP设置不同风味的名字,启动图标
  • 设置不同的app name
    offine/res/values/strings.xml 目录中的文件也会与main/res/values/strings.xml合并在一起。main包中app name值会被风味包中app name值替换掉。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 设置不同的启动图标
    风味包中res/asset/ 目录中的资源将与main包合并,若值相同将以风味包中为准。

  • 清单文件也会被合并

  • java文件合并,若风味包与main包中有相同的java文件,编译时将会报错。解决办法是将该java文件单独放到风味包中,合并时候就会将风味包中的文件并入main包中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值