Android Studio多渠道打包、自定義打包APK名稱
現(xiàn)在為了推廣產(chǎn)品,會在多個渠道應用市場發(fā)布應用,為了統(tǒng)計不同渠道的數(shù)據(jù),需要在應用中表明渠道,如果一個一個去修改打包效率會很低。AS為我們提供了簡便的方法,可以多渠道打包,一次打包所有的渠道包。
1. AS 2.x多渠道打包
(1) AndroidManifest中增加節(jié)點
<!-- 多渠道打包 --> ... <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> ...
(2) 項目app module的build.gradle的android中
android { .... //多渠道打包 productFlavors { yingyongbao {} huawei {} baidu {} xiaomi {} qh360 {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } .... }
2. AS 2.x自定義打包APK名稱
android { .... //自定義打包時apk名稱 applicationVariants.all { variant -> variant.outputs.each { output -> def fileName = "${variant.versionName}_${variant.productFlavors[0].name}_release.apk" def outFile = output.outputFile if (outFile != null && outFile.name.endsWith('.apk')) { output.outputFile = newFile(outFile.parent, fileName) } } .... }
最后打包之后apk放在項目 app/build/outputs/apk 文件夾下,apk名稱:版本名_渠道名.apk
3. AS 3.x多渠道打包
(1) AndroidManifest中增加節(jié)點(和2.x一樣,沒有變化)
<!-- 多渠道打包 --> ... <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> ...
(2) 項目app module的build.gradle的android中
多版本打包
android { .... //多渠道打包 flavorDimensions "tier","minApi" productFlavors { yingyongbao { dimension "tier" } huawei { dimension "tier" } baidu { dimension "tier" } xiaomi { dimension "minApi" } qh360 { dimension "minApi" } } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } .... }
單版本打包
android { ... defaultConfig { ... flavorDimensions "code" } productFlavors { yingyongbao {} huawei {} baidu {} xiaomi {} qh360 {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } ... }
AS 3.0后grade添加了flavorDimensions屬性,用來控制多個版本的代碼和資源,缺失會報錯
4. AS 3.x自定義打包APK名稱
android { .... //自定義打包時apk名稱 applicationVariants.all { variant -> variant.outputs.all { output ->// each 改為 all def fileName = "${variant.versionName}_${variant.productFlavors[0].name}_release.apk" def outFile = output.outputFile if (outFile != null && outFile.name.endsWith('.apk')) { outputFileName = fileName // output.outputFile 改為 outputFileName } } .... }
APK名稱:版本名_渠道名.apk
以上就是AS 2.x和AS 3.x多渠道打包、自定義打包APK名稱對比區(qū)別,大家可根據(jù)自己的AS版本來選用相應的方法,希望對大家有所幫助!如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Android ListView之setEmptyView正確使用方法
這篇文章主要介紹了Android ListView之setEmptyView正確使用方法的相關(guān)資料,希望通過本文能幫助到大家使用該方法,需要的朋友可以參考下2017-09-09Android 多線程實現(xiàn)重復啟動與停止的服務(wù)
這篇文章主要介紹了Android 多線程實現(xiàn)重復啟動與停止的服務(wù)的相關(guān)資料,多線程環(huán)境下為了避免死鎖,一般提倡開放調(diào)用,開放調(diào)用可以避免死鎖,它的代價是失去原子性,這里說明重復啟動與停止的服務(wù),需要的朋友可以參考下2017-08-08ubuntu 12.10 上 android 編譯環(huán)境搭建的深入解析
本篇文章是對ubuntu 12.10上android 編譯環(huán)境的搭建進行了詳細的分析介紹,需要的朋友參考下2013-06-06Android Studio 實現(xiàn)文檔注釋的快捷鍵
這篇文章主要介紹了Android Studio 實現(xiàn)文檔注釋的快捷鍵,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android TextView漸變顏色和方向及動畫效果的設(shè)置詳解
TextView的在安卓中可以理解為一個文本視圖控件,Android的視圖控件的基類是View類,可以理解的TextView是View的子類。我們通常在.XML布局文件中會為文本視圖控件指定各種屬性來設(shè)置它的樣式,今天我們要講的當然不是傳統(tǒng)常見的那種,將會帶有漸變顏色和方向及動畫效果2021-11-11Android viewpager自動輪播和小圓點聯(lián)動效果
這篇文章主要為大家詳細介紹了Android viewpager自動輪播和小圓點聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10Android實現(xiàn)Service獲取當前位置(GPS+基站)的方法
這篇文章主要介紹了Android實現(xiàn)Service獲取當前位置(GPS+基站)的方法,較為詳細的分析了Service基于GPS位置的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09android開發(fā)教程之textview內(nèi)容超出屏幕寬度顯示省略號
android開發(fā)中用textview顯示內(nèi)容時,顯示內(nèi)容過多可能會折行或顯示不全,那樣效果很不好,我們可以用省略號顯示,下面看設(shè)置方法2014-02-02