Android多渠道打包實踐

Songlcy發表於2016-09-19

今天來和大家分享的內容是在AS下實現多渠道打包。關於如何打包APK的流程以及如何生成keystore或者jks檔案本篇部落格不會涉及。

首先,在我們要上線App的最後一步就是打包APK。國內眾多市場導致我們需要分開針對不同市場來進行對應事物分析。該如何一次性生成對應市場的apk呢?

下面我會和大家分享兩種打包方式,兩種方式的不同之處在於一種是手動配置,一種是UI介面操作,原理相同。

(1)在app的build.gradle中手動配置productFlavors。

(2)開啟Open Module Setting選擇Flavors進行配置。

本篇部落格主要介紹第一種方式,開車!

(1)找到app的build.gradle檔案,在android的目錄下配置如下程式碼:

productFlavors {

        wandoujia {}

        productFlavors.all {

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

可以看到在中,我們首先配置了wandoujia{},你可以把這個看作是App市場的宣告,每個渠道名稱都按這種方式在此宣告即可。然後在productFlavors.all中的name對應了上面我們宣告的渠道名稱,UMENG_CHANNEL_VALUE即為name的key值。

上面這段含義是,當我們在打包apk時,上面配置的渠道名稱會出現在打包選項中,我們選擇的flavor時的值會替換name:

從上圖可以看到,Flavors中我們可以選擇要打的渠道包,可以多選後一次性打包完成,是不是非常方便,並且打包完成後的apk,AS會為我們以app-渠道名-【release | debug】的命名方式命名。

ok,關於到渠道打包的實踐方式就是這些,有問題的朋友可以給我留言哇~





相關文章