• 多渠道打包(友盟统计)


    转自:http://www.cnblogs.com/0616--ataozhijia/p/4203997.html

    一般用渠道的统计无非是用友盟或者其它之类的,今天就以友盟的为例吧。
    渠道信息一般在 AndroidManifest.xml中修改以下值:

    <meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />

    首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:

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

    其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。

    build.gradle文件就利用productFlavors这样写:

    复制代码
    productFlavors {
     
    wandoujia {
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
    }
     
    baidu {
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
    }
     
    c360 {
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]
    }
     
    uc {
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]
    }
     
    }
     
    复制代码

    其中[UMENG_CHANNEL_VALUE: "wandoujia"]就是对应${UMENG_CHANNEL_VALUE}的值。

    最新更新
    后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法

    复制代码
    productFlavors {
     
    wandoujia {}
    baidu {}
    c360 {}
    uc {}
     
    productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
     
    }
     
    复制代码

    其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。

    这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。

    推荐马伟奇老师的文章如何实现多渠道打包

  • 相关阅读:
    python下RSA 加密/解密,签名/验证
    python字符串str和字节数组相互转化
    代码存档
    windows 7 安装 scrapy
    scrapy 爬取自己的博客
    win32api 找不到指定的模块
    SQLite3日期与时间,常见函数
    sqlite3日期数据类型
    myeclipse集成maven
    UIKit class hierarchy
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/6876826.html
Copyright © 2020-2023  润新知