Android studio 多渠道打包以及自定義apk名字在3.0前后的變化

--
前記:此文用于總結(jié)記憶,方便使用


android studio3.0之前多渠道打包和自定義apk名字的設(shè)置:

1、manifest中增加節(jié)點

        <!-- 多渠道打包 -->
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />

2、app module的build.gradle的android中

android {
        ....
        //多渠道打包
        productFlavors {
            yingyongbao {}
            huawei {}
            baidu {}
            wandoujia {}
            xiaomi {}
            qh360 {}
            vivo {}
            meizu {}
            oppo {}

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

        //自定義打包時apk名字
        android.applicationVariants.all { variant ->
            variant.outputs.each { output ->
            // abc_渠道名_版本名.apk
            def fileName = "laihui_${variant.productFlavors[0].name}_${defaultConfig.versionName}.apk"
            output.outputFile = new File(output.outputFile.parent, fileName)
            }
        }
      ....
}

最后打包之后apk放在app文件夾下,apk名字:abc_渠道名_版本名.apk

android studio3.0之后多渠道打包和自定義apk名字的設(shè)置:

1、manifest中增加節(jié)點(和以前沒有變化)

        <!-- 多渠道打包 -->
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />

2、app module的build.gradle的android中

android {
        ....
        //多渠道打包
        flavorDimensions "default"
        productFlavors {
            yingyongbao { dimension "default" }
            huawei { dimension "default" }
            baidu { dimension "default" }
            wandoujia { dimension "default" }
            xiaomi { dimension "default" }
            qh360 { dimension "default" }
            vivo { dimension "default" }
            meizu { dimension "default" }
            oppo { dimension "default" }
        }
        productFlavors.all {
            flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }

        //自定義打包時apk名字
        android.applicationVariants.all { variant ->
              variant.outputs.all {
                // abc_渠道名_版本名.apk  還可以拼接其他app內(nèi)容:variant.versionCode  variant.buildType.name 
                outputFileName = "abc_${variant.name}_${variant.versionName}.apk"
             }
        }
      ....
}

最后打包之后apk放在app文件夾對應(yīng)的渠道文件夾下,apk名字:abc_渠道名_版本名.apk

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容