网友通过本文主要向大家介绍了android studio 渠道,android studio多语言,android studio,android studio官网,android studio下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
Android Studio多渠道打包
我们开发一个APP在上传应用市场之前,有时候会遇到要根据不同平台打多个apk包的问题。由于Android的应用市场比较多,主流的应用市场就有应用宝,百度手机助手,豌豆荚等等,还不包括其他的。一个一个打包非常麻烦,但通常打多个包主要是因为有的应用市场平台对引导页有特殊要求,或者第二屏广告页要加上他们的logo(申请应用市场首发的时候)所以多渠道打包是必须要做的一个任务,今天我就来讲一下我学习和实现多渠道打包的过程。</div> 1.首先新建一个小工程,并且新建一个类“TheSecondActivty(第二屏广告页)”和它的布局文件“activity_second”,然后打开清单文件,加上一个“meta-data”,如下图</div>其中的“XIAO_GUIDANCE”就是我们后面要在代码中用来判断的一个依据,而“XIAO_GUIDANCE_VALUE”在下面的build.gradle文件中要用到。如果还有其他渠道的引导页要单独设定的话就新增一个类似的met-data即可;</div> 2.打开app下面的build.gradle文件,注意是图中选中的这个,而不是底部的那个:</div> </div> 打开之后,在这个配置文件中添加下面这两段代码,举例如下图:</div> 渠道名称 {}
}</div> productFlavors.all {
flavor -> flavor.manifestPlaceholders = [清单文件中的meta-data设置的value名称: name]
}</div> </div> 3.打开第二屏广告页的类,通过ApplicationInfo获取到这个meta-data,通过判断meta-data是否包含“xiaomi”,这里的“xiaomi”也就对应上面的渠道名称,然后设置第二屏广告页的显示图片。具体代码如下,非常的简单:</div>
try { 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); } else { rlBackground.setBackgroundResource(R.drawable.guidance); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); }4.代码写完之后就可以打包了,简单的打包过程我之前的博客有提到,所以这里就不说了,直接上图,如下图所示在Flavors一栏中出现了两个选项,也就是我们在build.gradle里面加的渠道:</div> </div> </div> </div>
