一、签名配置signingConfigs

// 自动化打包配置-签名信息
signingConfigs {
    release {// 线上环境
        keyAlias 'xxx'// key别名,如taibang
        keyPassword 'xxxxxxxx'// key密码
        storeFile file('/xxx.jks')// 密钥文件路径,如/taibang.jsk
        storePassword 'xxxxxxxx'// 密钥文件密码
        v1SigningEnabled true
        v2SigningEnabled true
    }

    debug {// 开发环境
        keyAlias 'xxx'
        keyPassword 'xxxxxxxx'
        storeFile file('/xxx.jks')
        storePassword 'xxxxxxxx'
        v1SigningEnabled true
        v2SigningEnabled true
    }
}

二、产品风味(特点)的DefaultConfig配置

flavorDimensions "channel" // 特点维度,为了让多渠道包间的纬度统一,方便productFlavors维度统一

关于flavorDimensions的具体解释可参考下文:
FLAVORDIMENSIONS多维度理解(版本差异化打包)


三、产品风味(特点)/ 多渠道配置productFlavors

// 多渠道信息配置
productFlavors {
    taibang {// 默认就是泰邦健康管家渠道
        dimension "channel"
    }

    qfjp {
        dimension "channel"
    }
}

#四、 统一配置多渠道信息

// 统一配置多渠道信息
productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [XXX_CHANNEL: name] // 如BUGLY_APP_CHANNEL
}

五、配置自动构建后的apk文件名称

    // 配置构建后apk的文件名称
    applicationVariants.all { variant ->
        variant.outputs.all { output ->
            def buildName = "TaiBang"
            def type = variant.buildType.name
            def releaseApkName
            releaseApkName = buildName + '_' + "${defaultConfig.versionName}" + '_' + type + "_" + "${releaseTime()}" + '.apk'
            outputFileName = releaseApkName
        }
    }

app/build.gradle内的android标签外新增releaseTime方法:

android {
    ...
}

/**
 * 定义的打包时间
 * @return
 */
static def releaseTime() {
    return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
}

六、构建类型buildTypes配置

buildTypes默认有debugrelease两个构建类型,可以根据需要新增

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }

    debug {
        minifyEnabled false
        signingConfig signingConfigs.debug
    }
}


七、自动构建对应渠道/类型的apk包

点开Android Studio右侧的Gradle工具栏,找到ProjectName->Tasks->Build->assembleDebug/assembleRelease/assembleBuildTypes/assembleProductFlavors即可构建对应渠道/类型下的apk包,输出路径为默认的app/build/outputs/apk/对应路径


AndroidStudio多渠道打包,生成不同app
Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)