Android开发分渠道打包之友盟篇

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

Android开发分渠道打包之友盟篇_第1张图片
第二步:在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
                    }

            }
    }

Android开发分渠道打包之友盟篇_第2张图片

第三步:在示例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 "";
    }

Android开发分渠道打包之友盟篇_第3张图片
第四步:build ->Generate Signed Bundle or apk -> apk,打包apk
Android开发分渠道打包之友盟篇_第4张图片
第五步:验证apk的渠道信息,
Android开发分渠道打包之友盟篇_第5张图片

Android开发分渠道打包之友盟篇_第6张图片

你可能感兴趣的:(Android)