1. 程式人生 > >Android多渠道打包與360加固apk並自動簽名

Android多渠道打包與360加固apk並自動簽名

一.場景

應用需要接入統計服務,瞭解應用在不同應用市場的表現時,分發到不同應用市場的apk需要一個渠道名區分不同應用市場。這時就需要打多個不同的包,每個包對應一個渠道名, 即對應一個應用市場。

二.多渠道打包實踐(以友盟統計為例)

1.Gradle方式

(1)在AndroidManifest.xml清單檔案中設定友盟統計的APPKEY和應用推廣的渠道名稱。

  <!--value的值填寫你在友盟後臺申請的應用Appkey-->
        <meta-data android:value="5b9a2d49f29d9833fa0000e" android:name="UMENG_APPKEY"/>
        <!--value的值填寫渠道名稱,例如yingyongbao。這裡設定動態渠道名稱變數-->
        <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>

(2)在專案Module的build.gradle檔案的android標籤下新增程式碼,配置多個渠道。

  flavorDimensions "a"
    /*配置渠道*/
    productFlavors {

        yingyongbao {
            dimension "a"
            //設定yingyongbao 應用市場渠道名為yingyongbao
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
        }

        wandoujia {
            dimension "a"
            //設定wandoujia 應用市場渠道名為wandoujia
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
        }

        xiaomi {
            dimension "a"
            //設定xiaomi 應用市場渠道名為xiaomi
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
    }

(3)簽名打包,這時就會生成對應(2)中配置的三個渠道的三個apk檔案。

(4)特殊需求:每個渠道包的圖示和應用名都不一樣。

a.在AndroidManifest.xml清單檔案中設定包名和圖示時如下

<application
  android:icon="${app_icon}"
  android:label="${app_name}">

b.步驟(2)中修改以下

 flavorDimensions "a"
    /*配置渠道*/
    productFlavors {

        yingyongbao {
            dimension "a"
            //設定yingyongbao 應用市場渠道名為yingyongbao
            manifestPlaceholders = [app_name: "@string/app_name_baidu",
                                    app_icon: "@string/app_name_baidu",
                                    UMENG_CHANNEL_VALUE: "yingyongbao"]
        }

        wandoujia {
            dimension "a"
            //設定wandoujia 應用市場渠道名為wandoujia
            manifestPlaceholders = [app_name: "@string/app_name_baidu",
                                    app_icon: "@string/app_name_baidu",
                                    UMENG_CHANNEL_VALUE: "wandoujia"]
        }

        xiaomi {
            dimension "a"
            //設定xiaomi 應用市場渠道名為xiaomi
            manifestPlaceholders = [app_name: "@string/app_name_baidu",
                                    app_icon: "@string/app_name_baidu",
                                    UMENG_CHANNEL_VALUE: "xiaomi"]
        }
    }

2.使用360加固保加固apk並自動簽名

(1)下載360加固助手

(2)簽名配置

點選“配置資訊”,選擇“簽名配置” ,勾選“啟用自動簽名”,點選“瀏覽” 按鈕,選擇需要使用的簽名 Keystore 檔案,並輸入 Keystore 密碼。密碼正確時 會顯示別名,然後輸入正確的別名密碼,點選“新增”,完成簽名配置操作。 

(3)多渠道配置

在 “配置資訊”選單中,選擇“多渠道配置”,勾選“啟用多渠道打包”可 以在加固應用的同時自動打出對應的渠道加固包,根據需要的渠道包,填寫相關的配置資訊,單擊“新增”按鈕。

如上圖添加了三個渠道 選擇友盟統計平臺對應步驟(1)中設定渠道名中的name:UMENG_CHANNEL 填寫渠道編號對應步驟(1)中設定渠道名中的value:wandoujia

(4)使用AndroidStudio打包一個apk,如下圖所示:

(5)再用360加固寶對apk加固,如下圖所示:

(6)加固完成後,滑鼠右鍵——>“開啟輸出路徑”,如下圖所示:

(7)這時就會產生3個渠道的加固後的apk。如下圖所示:

至此多渠道加固介紹完畢,有問題的地方請留言!