AndroidStudio多渠道打包id无法打包用‘360’这样纯数字渠道名怎么办

Android Studio多渠道打包
我们开发一个APP在上传应用市场之前,有时候会遇到要根据不同平台打多个apk包的问题。由于的应用市场比较多,主流的应用市场就有应用宝,百度手机助手,豌豆荚等等,还不包括其他的。一个一个打包非常麻烦,但通常打多个包主要是因为有的应用市场平台对引导页有特殊要求,或者第二屏广告页要加上他们的logo(申请应用市场首发的时候)所以多渠道打包是必须要做的一个任务,今天我就来讲一下我学习和实现多渠道打包的过程。
1.首先新建一个小工程,并且新建一个类&TheSecondActivty(第二屏广告页)&和它的布局文件&activity_second&,然后打开清单文件,加上一个&meta-data&,如下图
其中的&XIAO_GUIDANCE&就是我们后面要在代码中用来判断的一个依据,而&XIAO_GUIDANCE_VALUE&在下面的build.gradle文件中要用到。如果还有其他渠道的引导页要单独设定的话就新增一个类似的met-data即可;
2.打开app下面的build.gradle文件,注意是图中选中的这个,而不是底部的那个:
打开之后,在这个配置文件中添加下面这两段代码,举例如下图:
productFlavors {
渠道名称 {}
productFlavors.all {
flavor -& flavor.manifestPlaceholders = [清单文件中的meta-data设置的value名称: name]
3.打开第二屏广告页的类,通过ApplicationInfo获取到这个meta-data,通过判断meta-data是否包含&xiaomi&,这里的&xiaomi&也就对应上面的渠道名称,然后设置第二屏广告页的显示图片。具体代码如下,非常的简单:
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
String reStr = appInfo.metaData.getString(&XIAOMI_GUIDANCE&);
if(reStr.equals(&xiaomi&)) {
rlBackground.setBackgroundResource(R.drawable.guidance_xiaomi);
rlBackground.setBackgroundResource(R.drawable.guidance);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
4.代码写完之后就可以打包了,简单的打包过程我之前的博客有提到,所以这里就不说了,直接上图,如下图所示在Flavors一栏中出现了两个选项,也就是我们在build.gradle里面加的渠道:
打包完成后,工程中会出现如下图所示的两个Apk:
5.最后,检验运行,查看图片显示,到这里,我们的多渠道打包就算实现了。左边是小米的(有logo),右边是应用宝的(没有logo):AndroidStudio多渠道打包无法用‘360’这样纯数字渠道名怎么办? - 知乎4被浏览710分享邀请回答12 条评论分享收藏感谢收起0添加评论分享收藏感谢收起2 个回答被折叠()AndroidStudio多渠道打包无法用‘360’这样纯数字渠道名怎么办? - 知乎4被浏览710分享邀请回答12 条评论分享收藏感谢收起

我要回帖

更多关于 ios 打包ipa 无法安装 的文章

 

随机推荐