zoukankan      html  css  js  c++  java
  • Android开发之多渠道打包

    一、友盟多渠道打包:

      在AndroidManifest.xaml文件中application节点下:

    <!--友盟多渠道打包-->
            <meta-data
                android:name="UMENG_CHANNEL"
                android:value="${UMENG_CHANNEL_VALUE}" />

      然后在app下的build.gradle文件下的android节点下:

    //    方式一:
        productFlavors{
            wandoujia{
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
            }
            xiaomi{
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
            }
        }

    然后重新编译一下app,选择Build->Generate Signed Apk,然后会出现多渠道:

    下面有两种优化方式:

      优化1:

    //优化1:
        productFlavors{
            wandoujia{}
            xiaomi{}
        }
        productFlavors.all { flavor ->
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}

      优化2:

     //优化2:
        productFlavors{
            wandoujia{}
            xiaomi{}
        }
        productFlavors.all {flavor ->
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if(outputFile != null && outputFile.name.endsWith(".apk")){
                    def fileName = outputFile.name.replace(".apk","-${defaultConfig.versionName}.apk")
                    output.outputFile = new File(outputFile.parent, fileName);
                }
            }
        }

    在代码中获取渠道信息:

    private String getChannel(){
            try {
                PackageManager pm = getPackageManager();
                ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
                return appInfo.metaData.getString("UMENG_CHANNEL");
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
            return "";
        }
    GitHub:https://github.com/godfunc
    博客园:http://www.cnblogs.com/godfunc
    Copyright ©2019 Godfunc
  • 相关阅读:
    c# 门禁随笔
    DataTable到Access
    C#文件上传
    C#操作文件
    JavaScript 全局封装
    jsavascript 目录的操作(摘抄)
    12-STM32 ADC原理
    11-STM32 高级定时器TIM1/8
    10-STM32 基本定时器TIM
    9-STM32 WWDG窗口看门狗
  • 原文地址:https://www.cnblogs.com/Godfunc/p/6404842.html
Copyright © 2011-2022 走看看