Android開發分渠道打包之友盟篇

第一步:在清單文件AndroidManifest.xml中application模塊中加入:

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


第二步:在app的build.gradle中的android部分加入:

 flavorDimensions ""
    productFlavors{
        wandoujia{}
        xiaomi{}
        huaiwei{}
        oppo{}
        vivo{}
        meizu{}
        yingyongbao{}
    }
    productFlavors.all{
        flavor ->
            flavor.manifestPlaceholders =[UMENG_CHANNEL_VALUE : name]
    }
    applicationVariants.all{ variant ->
        variant.outputs.all{ output->
                    def outputFile = output.outputFile
                    if(outputFile!=null && outputFile.name.endsWith(".apk")){
                        def fileName = outputFile.name.replace(".apk","-${defaultConfig.versionName}.apk")
                        outputFileName = fileName
                    }

            }
    }

第三步:在示例ApplicationTest(在任何地方都可以)中獲取meta-data

private String getChannel(){
        PackageManager pm = getPackageManager();
        ApplicationInfo applicationInfo = null;
        try {
            applicationInfo = pm.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            return applicationInfo.metaData.getString("UMENG_CHANNEL");
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return "";
    }


第四步:build ->Generate Signed Bundle or apk -> apk,打包apk

第五步:驗證apk的渠道信息,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章