Android開發之Gradle多渠道打包總結

首先老套路看圖:分別是小米的渠道和應用寶的渠道

這是渠道的渠道號的截圖

 

先說下Gradle的多渠道打包,個人更喜歡這樣寫:

第一步:需要在清單文件添加標識:

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

配置的name和value不是固定值,可以自己取的

第二步:

在app的gradle的android根節點添加如下配置:

 productFlavors {
        tool {
            manifestPlaceholders = [XiaYiYeValue: "360"]
        }
        yyb {
            manifestPlaceholders = [XiaYiYeValue: "yyb"]
        }
        xiaomi {
            manifestPlaceholders = [XiaYiYeValue: "xiaomi"]
        }
        huawei {
            manifestPlaceholders = [XiaYiYeValue: "huawei"]
        }
    }

當然上面的第二步也可以用下面的方法替代我不常用:

  productFlavors {
        "wandoujia" {

        }
        "xiaomi" {

        }
        "yyb" {

        }
        "huawei" {

        }
        baidu {

        }
        productFlavors.all {
            flavor -> flavor.manifestPlaceholders = [XiaYiYeValue: name]
        }
    }

這樣就配置好了,然後獲取渠道號碼就行了:

  private void showValue() {
        try {
            PackageManager pm = getPackageManager();
            ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            String channel = appInfo.metaData.getString("XiaYiYe");
            Toast.makeText(this, channel, Toast.LENGTH_LONG).show();
        } catch (PackageManager.NameNotFoundException ignored) {
        }
    }

上面的XiaYiYe這個key就是清單文件xml中配置的name這個值,獲取到渠道號後直接上傳到你們的後臺就可以進行渠道統計了

發佈了193 篇原創文章 · 獲贊 107 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章