当前位置: 首页 > news >正文

深圳网站制作公司人才招聘网址大全浏览器下载

深圳网站制作公司人才招聘,网址大全浏览器下载,橙米网站建设,企业网站的基本功能目前使用过的多渠道打包方式有两种 #xff0c;一种是通过gradle打包#xff0c;还有一种是美团的多渠道打包方案具体详情见这里1、Gradle打包1.1、在Androidmanifest.xml中添加android:nameUMENG_CHANNELandroid:value${UMENG_CHANNEL_VALUE} /…目前使用过的多渠道打包方式有两种 一种是通过gradle打包还有一种是美团的多渠道打包方案具体详情见这里1、Gradle打包1.1、在Androidmanifest.xml中添加android:nameUMENG_CHANNELandroid:value${UMENG_CHANNEL_VALUE} /1.2、在build.gradle中添加productFlavors {// 百度baidu {manifestPlaceholders [UMENG_CHANNEL_VALUE: baidu]}//魅族meizu {manifestPlaceholders [UMENG_CHANNEL_VALUE: meizu]}//搜狗sougou {manifestPlaceholders [UMENG_CHANNEL_VALUE: sougou]}这时候在Android Studio右侧的Gradle project工作区中就可以看到在这里配置的多个渠道了双击相应的选项就能build出相应的渠道包了assembleRelease是build出所有渠道的Release包这里只使用了少量的渠道作为示例。这里的UMENG_CHANNEL_VALUE需要和meta-data中的value一致才能替换。1.3、获取渠道号public static String getApplicationMetadata(Context context,String metaDataKey) {ApplicationInfo info null;try {PackageManager pm context.getPackageManager();info pm.getApplicationInfo(context.getPackageName(),PackageManager.GET_META_DATA);return String.valueOf(info.metaData.get(metaDataKey));} catch (Exception e) {e.printStackTrace();}return null;}这里的metaDataKey自然就是UMENG_CHANNEL了2、美团多渠道打包方案2.1、环境配置由于美团的多渠道打包方案需要依靠脚本来实现这里我用的是python经试验脚本文件在windows 下用3.6版本和mac下用2.7版本都能完美运行。并且需要安装openpyxl模块。2.2、文件说明打包的文件有channels.xlsx 和 package.pychannels.xlsx是一个excel表格里面第一列是渠道号的id,第二列是渠道号的名称第三列是渠道名称的备注(非必须)package.py 是一个python脚本文件import datetimeimport zipfileimport shutilimport sysimport osfrom openpyxl import load_workbookstarttime datetime.datetime.now()apk_path sys.argv[1]print(os.path.abspath(apk_path))file_pathos.path.dirname(os.path.abspath(apk_path))os.path.sepout_path file_pathoutputif not os.path.exists(out_path):os.makedirs(out_path)else:shutil.rmtree(out_path,True)os.makedirs(out_path)name os.path.basename(apk_path)origin_apk_name os.path.splitext(name)[0]wbload_workbook(filenamefile_pathchannels.xlsx,read_onlyTrue)sheets wb.get_sheet_names()wswb[sheets[0]]for row in ws.rows:idStrstr(row[0].value)channelStrstr(row[1].value)channel_apk_name{}-{}-{}.apk.format(idStr,channelStr,origin_apk_name)channel_apk_pathos.path.join(out_path,channel_apk_name)shutil.copy2(apk_path,channel_apk_path)zippedzipfile.ZipFile(channel_apk_path,a,zipfile.ZIP_DEFLATED)empty_channel_fileMETA-INF/channel_{}_{}.format(idStr,channelStr)zipped.writestr(empty_channel_file, )zipped.close()print(idStr:channelStr)endtimedatetime.datetime.now()between(endtime-starttime).microseconds/1024print(time:%d ms % between)2.3、运行脚本在命令行中输入 python package.py xxxx.apk如果Python命令是在package.py所在目录下用上面的方式输入也可以将package.py和apk文件直接拖入命令窗口中执行然后就会在apk所在路径下生成一个output文件夹里面有所有生成的渠道包。2.4、获取渠道号这时候用Android Studio 打开新生成的渠道包Build——Analyze Apk选中刚才生成的apk打开META-INF文件夹可以看到这样的的一个文件channel_{id}_{name}的文件由于它是一个空文件所以可以看到它的体积大小为0B。因此新的渠道包也不会需要重新签名。代码中获取渠道号public static String[] getChannel() {ApplicationInfo appinfo App.getInstance().getContext().getApplicationInfo();String sourceDir appinfo.sourceDir;String ret ;ZipFile zipfile null;try {zipfile new ZipFile(sourceDir);Enumeration entries zipfile.entries();while (entries.hasMoreElements()) {ZipEntry entry ((ZipEntry) entries.nextElement());String entryName entry.getName();if (entryName.startsWith(META-INF/channel)) {ret entryName;break;}}} catch (IOException e) {e.printStackTrace();} finally {if (zipfile ! null) {try {zipfile.close();} catch (IOException e) {e.printStackTrace();}}}String[] split ret.split(_);if (split ! null split.length 2) {for (int i 0; i split.length; i) {Logger.e(split[i]);}return split;} else {return null;}}在这里获取到的split信息应该是[“META-INF/channel”,”18”,”uc”]然后获取自己需要的信息就好了3、两种打包方式对比打包方式特点优点缺点适用场景gradleproductFlavors下配置渠道号assembleRelease一键执行打完所有包配置简单每个包都需要重新build耗时较长渠道包较少时美团多渠道打包方案通过脚本文件在apk的META-INF目录下生成包含渠道号的空文件打包速度快需要依赖外部的脚本文件来实现修改脚本有学习成本渠道包比较多时4、遇到的其他问题4.1、umeng的渠道号设置这种方式不会替换meta-data中的信息好在umeng提供了在代码中设置channel的方法详情见这里4.2、注意事项渠道包的位置一定要和channel的配置文件在同一目录下4.3、打包方式优化这种方式还是需要自己输入命令行稍后打算写一份.bat文件让他双击运行。打包脚本下载转载请注明出处http://blog..net/zhong1113/article/details/54094770
http://www.huolong8.cn/news/158415/

相关文章:

  • 新竹自助建站系统做网站的服务器还需要空间吗
  • 网站备案在哪里查询顺德微网站建设
  • 坑人的网站链接怎么做高德地图是中国的还是国外的
  • 苏州正规网站建设概况protected wordpress login 插件
  • 网站建站基本要素江苏建设工程招标网官方网站
  • 做外贸维护网站需要注意什么wordpress的官方文档
  • 一站式海外推广平台企查查网站
  • 清远市住房和城乡建设局网站网站右侧浮动微信二维码
  • 微信网站制作免费百度域名ip是多少
  • 空压机东莞网站建设赣州建设监督网站
  • 建设银行企业官方网站ai简历在线制作
  • 网站移动化建设方案营销管理软件
  • 建站的公司网站建设包含图文设计
  • 网站部分频道完全不收录了怎么做商务网站规划与设计
  • 做网站的大小个人网站备案信息填写
  • 哪个网站做长图免费转高清青岛网站推
  • 之梦一个系统做多个网站自己做动画网站
  • 营销网站流程与步骤筑招网
  • 网站建设 壹起航做一个网站维护多少钱
  • 做招聘网站赚钱么微信营销的方法
  • 做网站可能遇到的困难湖北建设厅网站上查询
  • 广州建设网站开发梁山县网站建设
  • 建设网站部署环境wordpress不同分类不同模板
  • editplus网站开发什么是企业网站建设
  • 如何将自己做的网站传到网上广州建筑集团股份有限公司
  • 网站的建设与应用打字赚钱
  • 怎么自己做淘客网站大品牌vi设计
  • 做分析报表的网站qq群推广网站
  • 做微信平台网站网站 支持建设单位
  • 网站怎么不要钱自己做个人网站建立教程