1. 程式人生 > >androidstudio3.0之後多渠道打包

androidstudio3.0之後多渠道打包

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "app.clm.com.demoapp"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        flavorDimensions "1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            //啟用混淆程式碼的功能
            minifyEnabled true
            //壓縮對齊生成的apk包
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //移除無用的資原始檔
            shrinkResources true
            //啟用multidex的支援
            multiDexEnabled true
        }
    }
    productFlavors{
        xiaomi{ }
        google{}
        wandoujia{}
        baidu{}
        anzhi{}
        QQ{}
    }
    //輸出渠道包的名字,例如 xx.apk(個人還木有完全理解這塊為什麼這麼寫??)
    android.applicationVariants.all{ variant ->
        variant.outputs.all{ output ->
            def outFile = output.outputFile
            if (outFile != null && outFile.name.endsWith(".apk")){
                //自定義想要生成的apk格式
                def fileName = "${variant.productFlavors[0].name}_${publishTime()}" + ".apk"
                outputFileName = fileName
            } } }
//批量處理
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [CLM_CHANNEL: name]
    }
}
//渠道