Android Studio(十二):打包多個釋出渠道的apk檔案
Android Studio相關部落格:
以前把apk檔案上傳到應用市場,都是直接打個包,讓運營那邊的人員去負責去傳,也沒想過做啥應用的資訊統計相關的東東,現在可不行了,小經理告訴我,我們的應用需要做些統計相關的東西,方便日後分析我們的應用還有哪些不足,好吧,既然有需求了,那就只有去做了。
之前就已經知道友盟統計了,今天仔細看了下相關的文件,又在度娘上發現了幾個使用Android Studio打包多個平臺apk檔案的方法,這下可好,正好滿足我的需求,遂趕緊嘗試研究了下。
網上已經有些個方法,有複雜的,也有簡單的,這裡,我直接介紹簡單的東西,省的迷惑大家了:
1. 首先配置清單檔案:AndroidMainFest.xml
<meta-data
android:name="UMENG_APPKEY"
android:value="您申請的key值" />
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
2. 在工程的build.gradle檔案中配置
說明:android { signingConfigs { designerassist { keyAlias 'designerassist.keystore' keyPassword 'otb2015' storeFile file('E:/workspace/otb/designerhelper/designerassist.keystore') storePassword 'otb2015' } } compileSdkVersion 19 buildToolsVersion '22.0.1' productFlavors { wandoujia {} baidu {} c360 {} uc {} qq {} xiaomi {} meizu {} c91 {} huawei {} lenovo {} wangyi {} yidong {} mgyapp {} anzhuoapk {} tianyi {} appchina {} nduoa {} umeng {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }
其中name的值對相對應各個productFlavors的選項值,這樣就達到自動替換渠道值的目的了。
這樣生成apk時,選擇相應的Flavors來生成指定渠道的包就可以了,而且生成的apk會自動幫你加上相應渠道的字尾,非常方便和直觀。大家可以自己反編譯驗證。
你只需要按照上面的配置寫就好了,當然,是根據你的需要選擇不同的平臺。
打包:
首先,你需要先配置下gradle環境:
在系統變數裡新增兩個環境變數:
1.1 變數名為:GRADLE_HOME,變數值就為gradle的根目錄;
所以變數值為:C:\Users\ningshuai\.gradle\wrapper\dists\gradle-2.2.1-all\c64ydeuardnfqctvr1gm30w53
1.2 在系統變數裡PATH裡面新增gradle的bin目錄
值為:C:\Users\ningshuai
配置完變數後,便可以打包了,開啟命令列,切換到你的專案目錄下,你會發現自己的目錄中有graldew.bat這個檔案:
接下來,你就可以直接輸入命令:gradle assembleRelease,就可以一次性生成所有的渠道包了:
所有生成的apk在專案的build\outputs\apk下:
如果只是想生成單個渠道的包呢?可以用命令列單獨生成,比如:
gradle assembleWandoujiaRelease
當然,除此之外,你還可以直接通過Android studio匯出相應平臺的apk檔案:
好了,so easy。接下來只需要把相應的包釋出到不同的應用平臺即可,這樣,你可以通過友盟檢視到相關渠道的下載安裝情況了。