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图形打包操作以外,我们也可以使用命令行进行打包操作,具体步骤如下:

#项目根目录打开Terminal面板,

输入gradlew assembleRelease命令

如果系统中没有安装Gradle,则会自动下载完成安装及初始化

#打包成功后

会提示BUILD SUCCESSRUL

app–>build–>outputs–>apk路径中就可以看到打包成功后的APK