天天看点

Android Studio多渠道打包

我们开发一个APP在上传应用市场之前,有时候会遇到要根据不同平台打多个apk包的问题。由于Android的应用市场比较多,主流的应用市场就有应用宝,百度手机助手,豌豆荚等等,还不包括其他的。一个一个打包非常麻烦,但通常打多个包主要是因为有的应用市场平台对引导页有特殊要求,或者第二屏广告页要加上他们的logo(申请应用市场首发的时候)所以多渠道打包是必须要做的一个任务,今天我就来讲一下我学习和实现多渠道打包的过程。

1.首先新建一个小工程,并且新建一个类“TheSecondActivty(第二屏广告页)”和它的布局文件“activity_second”,然后打开清单文件,加上一个“meta-data”,如下图

其中的“XIAO_GUIDANCE”就是我们后面要在代码中用来判断的一个依据,而“XIAO_GUIDANCE_VALUE”在下面的build.gradle文件中要用到。如果还有其他渠道的引导页要单独设定的话就新增一个类似的met-data即可;

2.打开app下面的build.gradle文件,注意是图中选中的这个,而不是底部的那个:

Android Studio多渠道打包

打开之后,在这个配置文件中添加下面这两段代码,举例如下图:

    productFlavors {

        渠道名称 {}

    }

    productFlavors.all {

        flavor -> flavor.manifestPlaceholders = [清单文件中的meta-data设置的value名称: name]

Android Studio多渠道打包

3.打开第二屏广告页的类,通过ApplicationInfo获取到这个meta-data,通过判断meta-data是否包含“xiaomi”,这里的“xiaomi”也就对应上面的渠道名称,然后设置第二屏广告页的显示图片。具体代码如下,非常的简单:

4.代码写完之后就可以打包了,简单的打包过程我之前的博客有提到,所以这里就不说了,直接上图,如下图所示在Flavors一栏中出现了两个选项,也就是我们在build.gradle里面加的渠道:

Android Studio多渠道打包

打包完成后,工程中会出现如下图所示的两个Apk:

Android Studio多渠道打包

5.最后,检验运行,查看图片显示,到这里,我们的多渠道打包就算实现了。左边是小米的(有logo),右边是应用宝的(没有logo):

Android Studio多渠道打包
Android Studio多渠道打包

继续阅读