Android Studio3.0前后多渠道打包用法

在AS3.0之前的多渠道打包用法

1、在AndroidManifest.xml里面添加

   

2、然后在app的build.gradle里面添加:

productFlavors {
    yingyongbao{}
    huawei{}
    google_play{}
    xiaomi{}
}

productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

3、自定义AS打包输出apk的名称

   applicationVariants.all {
    variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                def fileName = "app_${variant.productFlavors[0].name}_v${defaultConfig.versionName}.apk"
                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
}

在AS3.0版本之后多渠道打包有一点点改变

1、和3.0版本之前是一样的

  

2、然后在app的build.gradle里面添加:

 productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

flavorDimensions "mark" //相当于一个标记

productFlavors {
    yingyongbao{ dimension "mark" }
    huawei{ dimension "mark" }
    google_play{ dimension "mark" }
    xiaomi{ dimension "mark" }
}

3、自定义apk名称

    android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "app_v${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
    }
}

你可能感兴趣的:(android-studio)