Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)

1,创建一个项目

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第1张图片
**

2,在项目中创建几个文件夹,等级和main文件夹平级,我这里创建了2个文件夹作为测试用。分别为ou1,out2。(文件夹名字按自己需求创建,用于区分不同渠道就行)

**

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第2张图片

3,两个文件夹中目录结构也要和main相同!!! 这两个文件夹分别代表了两个项目不一样的地方,其中res中相同的文件会覆盖main文件中的,manifest中的属性会合并。

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第3张图片

4,最后在gradle中配置这两个项目的信息

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第4张图片

5,我们打个debug包测试下

mian里的MainActivity代码很简单,就是一个textview显示字符串。而Config这个类才是我们不同的包。
测试1:不同包不同的代码:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第5张图片
out1项目和out2项目都有Config这个类。但里面的代码是不同的。
out1里的
在这里插入图片描述
out2里的
在这里插入图片描述
测试2:不同的包名,版本号,版本名字,资源文件
out1的包名,版本号,版本名字
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第6张图片
out2的包名,版本号,版本名字
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第7张图片
out1资源文件
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第8张图片
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第9张图片
out2资源文件
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第10张图片
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第11张图片
测试结果:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第12张图片
out1:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第13张图片
out2:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第14张图片
********未完待续

6,配置key信息

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第15张图片

7,设置每个包使用的对应的key,我这里是out1使用qq1这个key,out2使用qq2这个key

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第16张图片
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第17张图片
配置信息配置完后,gradle里会出现如下代码
如果需要加载Signature Version 则在signingConfigs中添加
signingConfigs {
debug {
v1SigningEnabled true
v2SigningEnabled true
}
release {
v1SigningEnabled true
v2SigningEnabled true
}
}

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第18张图片
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第19张图片

8,打包,我们通过gradle打包

Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第20张图片
根据需要运行不同的脚本进行打包。

9.我们对打过的包进行签名信息校验,看是否使用对里签名。

正确的签名顺序应该是
out1对应qq1签名
out2对应qq2签名

qq1的签名信息:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第21张图片
out1打包后的签名信息:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第22张图片
qq2的签名信息:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第23张图片
out2的签名信息:
Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)_第24张图片

结论:经过对比签名完全一致!

DEMO

你可能感兴趣的:(安卓)