Android-Studio 多渠道打包

1、图形界面打包

#需求分析(友盟SDK)

友盟SDK 需要在AndroidManifest.xml中配置如下值:

1
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>

其中Channel ID为软件应用市场标识。为了能够动态的设置Channel ID。可在build.gradle这样配置productFlavors

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 这里假定我们需要打包的渠道为酷安市场、360、小米、百度、豌豆荚

android {
productFlavors {
kuan {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
qh360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}
}

所谓ProductFlavors其实就是可定义的产品特性,配合 manifest merger 使用的时候就可以达成在一次编译过程中产生多个具有自己特性配置的版本。上面这个配置的作用就是,为每个渠道包产生不同的 UMENG_CHANNEL_VALUE 的值。

#执行打包

执行打包

#选择打包渠道

选择打包渠道

#打包成功

2、命令行打包

除了使用AndroidStudio图形