1. 程式人生 > >Android studio 多渠道打包,但只生成一個debug包(不需要多渠道debug包)

Android studio 多渠道打包,但只生成一個debug包(不需要多渠道debug包)

多渠道打包方式,網上有很多的介紹了,這裡就不再多說了。

配置好打多渠道包,每次手機連線電腦,想執行一下測試。發現在buildout/apk目錄下生成了每個渠道的debug包。而且每執行一次,就成生一個debug包。

這樣是不是很煩。如果只想生成一個debug的包。怎麼做?

這是程式碼:

 if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        def fileName
                        if (variant.buildType.name.equals('debug')) {
                            fileName = "xiaopeng-${defaultConfig.versionName}_debug.apk"
                        } else {
                            def timeStamp = new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+8"));
                            fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}-${timeStamp}.apk")
                        }
                        output.outputFile = new File(outputFile.parent, fileName)
                    }

只需要在生成包的時候,判斷如果是debug包,就使用預設的名字就行。如果是release包,則生成渠道名+版本+時間的包。

當然,如果你需要的是打多渠道debug包,則可以不用這樣做。按預設規則就好。

打包的時候,在as左下角,可以檢視,你打的包是debug還是release。可以自行選擇。


要是手機連線電腦直接run,找不到apk包,去重新整理一下gradle(右上角)

如下錯誤(The APK file XXX\build\outputs\apk\XX-offical-release-1.0-201611091539.apk does not exist on disk.
Error while Installing APK)


這篇文章,就是為了說明,打多渠道的包,同時debug包,只需要有一個的情況。