zoukankan      html  css  js  c++  java
  • Android Gradle实用技巧——多渠道打包

    友盟有很多不错的功能,例如渠道统计等。

    想要做渠道统计,有一个要求就是要在manifest文件中添加各个渠道的配置。只有一两个渠道还好说,但是渠道多了的话,手动修改然后打包简直是噩梦。

    幸好现在Android的构建工具换成了gradle,通过gradle,简单配置后就可以实现自动打所有渠道包。原理是android gradle的productFlavors和variants,不懂的可以先搜索一下。

    1,首先,按照umeng的要求,manifest文件中需要有

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

    这段配置,value那里就是wandoujia,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。

    2,在module(一般也就是app)的build.gradle中添加如下内容:

    productFlavors {
            xiaomi {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
            }
            yingyongbao {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
            }
            _360 {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]
            }
        }
     

    productFlavors是android节点的一个自节点。你需要打什么渠道的包,就在这里按umeng的要求把渠道名写到UMENG_CHANNEL_VALUE后面。

    3.这个时候去工程的根目录,也就是有gradlew文件的目录,打开命令行,输入命令:

    ./gradlew assemble

    这时候你去app/build/outputs/apk中就能看到自动打好的渠道包了。附送几条命令:

    ./gradlew assembleRelease

    只打Release包

    ./gradlew assembleDebug

    只打Debug包

    ./gradlew assemble_360

    只打360的渠道包

    ./gradlew assemble_360Release

    只打360的release渠道包

  • 相关阅读:
    USACO 5.1 Starry Night
    USACO 4.4 Frame Up
    USACO 4.4 Shuttle Puzzle
    USACO 4.3 Letter Game (字典树)
    USACO 4.3 Street Race
    BZOJ 1036: [ZJOI2008]树的统计Count (树链剖分模板题)
    BZOJ 1861: [Zjoi2006]Book 书架 (splay)
    codeforces 354 D. Transferring Pyramid
    codeforces 286 E. Ladies' Shop (FFT)
    USACO 4.3 Buy Low, Buy Lower
  • 原文地址:https://www.cnblogs.com/csonezp/p/4900042.html
Copyright © 2011-2022 走看看