前言:

     關于Android渠道打包是一個比較老的話題,今天主要記錄總結一下多渠道打包以及如果動態(tài)配置修改一些資源屬性。今天以公司實際需求為例進行演示,由于項目復用很多公共的業(yè)務組件,而且業(yè)務組件之間的跳轉采用Scheme協(xié)議,每個業(yè)務組件的host地址不變,所以需要在打包的時候動態(tài)修改scheme協(xié)議名字。為了方便舉例,首先我們這里假設我們一個App要打出兩個不同的渠道,方便進行數(shù)據統(tǒng)計。

第一步聲明一個渠道參數(shù) AndroidManifest.xml中

<meta-data android:name="APP_CHANNEL"
 android:value="external" />

為了方便通過gradle自動替換,value需要替換成標記位的方式

 <meta-data  android:name="APP_CHANNEL"
  android:value="${APP_CHANNEL}" />

第二步在gradle中利用productFlavors聲明渠道類型,

  比如我們這里聲明一個外部版本一個內部版本,manifestPlaceholders 替換AndroidManifest中的${APP_CHANNEL}值

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

    productFlavors {
        external {
            manifestPlaceholders = [APP_CHANNEL: "external"]
        }
        internal {
            manifestPlaceholders = [APP_CHANNEL: "internal"]
      &n
        
		

網友評論