如何管理上百个渠道管理系统包

博客访问: 130840
博文数量: 1371
注册时间:
鏆傛棤浠嬬粛
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 信息化
服务时代也能当甩手掌柜 作者: 《计算机产品与流通》 莱雯Friday, July 12
PM 从卖"硬件"到卖"方案" 对于很多代理商而言,从前大家面对的只是产品更新,而渠道的玩法却一直变化不大,卖PC,卖服务器,卖打印机,还不就那么"华山一条路"?可是现在,厂家和用户像是串通好了,动不动就跟渠道提什么方案、服务,什么"以客户为中心"、"以服务为导向"。往往连公司里最有经验的销售也会抱怨,说被客户的"十万个为什么"问得快脱水了,客户还理直气壮地说这叫"售前咨询"。 如何应对这样的问题呢?从"货物传送带"到"知识传送带" 综观IT产品供应链的变迁,除了是利润中心的迁移过程之外,其实也是知识迁移的过程,市场中心向用户转移,利润中心向服务转移,知识中心则向渠道转移。渠道掌控着来自用户的需求信息,也传递着供应商的产品信息,成为整个市场的信息集散地,同时,作为IT最终服务产品的直接生产者,渠道也是各项行业理念、技术、技能的体现者,渠道已经由原来的"货物传送带"变成了"知识传送带",怪不得渠道的"知识爆炸"之感异常深切。 联想的渠道培训近来格外红火。有趣的是,培训的红火根本不是联想行政指令的结果,而是渠道们的自发要求。以联想专门面向中小机构提供解决方案的IT 1FOR1事业部为例,这个部门的渠道要求格外高,因为中小机构客户需求分散性大,方案设计必须完整,成本控制严,服务难度很高。所以这个部门的渠道对参加培训也格外踊跃,敦促事业部运营服务处分门别类形成了各种课程。而且,培训工作据说是已经从"面对面"升级为"手把手"。于是老总们忙着学经营决策、知识管理;业务人员则恨不得要跟咨询公司的顾问们看齐,什么顾问式销售,架构咨询,方案设计,软件咨询,项目管理,服务管理,风险管理,时间管理;技术人员当然也不会闲着,面向网络化的各种新应用,就足够他们琢磨上一阵子的。 "手把手",其实是传接力棒,联想希望做事不只靠自己,而是要把自己的模式传给渠道,让渠道也成为教练,成为和联想一样的"学习"型组织,跟联想一起长大,联想要做知识型企业,渠道也要成为知识型渠道。 从"八仙过海"到标准化渠道 一位在业界摸爬滚打了不少年头的渠道经理,曾经发出感叹,"中国IT产业,专业渠道还没有形成。"这个看法虽然偏于悲观,却也不无道理。 过去,渠道管理规则无法明晰,是因为市场大环境不成熟,产品也不成熟,渠道们在沟沟坎坎中迤俪而行,并非不知道两点之间直线最短,而是情非得已,不得不施展八仙过海的功夫。既然是八仙过海,当然对专业、统一、规范等等概念也无从谈起。但是当市场和产品都逐渐成熟规范,用户消费意识也渐趋理性、精明,标准化应用服务的趋势也越来越清晰。这时,给八仙们统一买张船票则是最简便、最经济、最明智的过海方法。 现在,生意场上的竞争正在逐渐变得更加公平,渠道迅速的专业化、标准化成为考较竞争力的重要指标。庞大的体系需要高效的系统来维持,只有达到统一规范,连接成本才保持最低,运营内耗才降到最小。麦当劳作为餐饮服务业的一枝奇葩,之所以能够行销全球且经久不衰,靠的不就是专业化、标准化的模式和统一的服务规范吗?对此,IT渠道中的老将北纬也深有感触。最近,北纬通过提供应用服务解决方案,成功地为京城老字号"吴裕泰"搭建了网络信息平台。在此次项目中,标准化应用服务发挥了决定性作用。 有了知识管理为基础,向渠道传达理念,认同度就会大大提高,推行"标准化渠道",也就有了基础。作为中国市场IT渠道最成功的实践者之一,联想积累了丰富的渠道管理经验,并愿意将这些经验拿出来与大联想渠道和整个业界分享。有了标准,专业化还会远吗? 知识化,专业化,方方面面都有了科学管理,则代理商们一定有指望重新当上"甩手掌柜"。就算偶尔再梦见自己变做哪咤,相信对代理商来说,卖点也不会再是那个六臂了吧?(当今瞬息万变的社会,企业只有不断提高自身的服务水平和工作效率,才能在激烈的市场竞争中立于不败之地。面对企业业务的不断发展,产品的大量销售,如何提升企业的产品服务能力,为客户所购买的产品提供更好的服务,是摆在每一位企业产品服务总监面前的待解决的课题。 试想,当企业产品服务总监面临这样的服务业务;对数百亿人民币的产品进行售后服务;每年的服务业务达数亿人民币;每月有价值近亿元的服务备件在流动;每天有数千用户的咨询电话;每天有上千名工程师在上百个城市为客户提供服务……这位产品服务总监应该如何管理好这些业务? 大量的、分布式的、高质量的客户产品服务需要企业具备很强的服务能力。这种能力体现在企业的人员素质上、体现在企业的技术根底上、更体现在企业服务流程管理的制定和管理上。 从1981年开始向客户提供服务的惠普服务取得了骄人的成绩:客户满意度行业第一;服务业务保持30%以上的增长;服务及客户信息流转迅捷;服务渠道标准统一;服务物料供应充足……之所以能有这样的表现,除了惠普的人员、技术实力外,最为关键的是惠普服务的流程管理能力,以及为高效、优质的服务流程提供了强大的支撑、动力的"惠普支持服务系统"。 惠普服务运营管理解决方案: "惠普服务运营管理系统"是以惠普自身成功的服务运营体系为参考模型,结合客户服务领域优秀的理论和运作实践,充分考虑企业客户的服务需求和客户服务部门未来的发展目标,帮助企业构建其客户服务业务模型和支撑流程体系,并且以稳定的系统基础架构实现高效、优质的电子化服务流程,帮助企业客户服务部门创造最佳的客户服务环境,提高客户的满意度。 惠普作为中国IT业客户服务领域客户满意度最高的IT厂商,不仅提供全面客户化的服务运营管理系统,而且提供企业客户服务全部相关领域的业务顾问咨询服务。 "惠普服务运营管理系统解决方案"为整个企业的客户服务部门提供全面的、相互衔接的项目管理服务,它包括业务顾问、评估、模型搭建、流程梳理、项目管理、系统分析、设计、实施、测试、培训和维护。 "惠普支持服务系统"贯穿企业服务的整个链条,采用最先进的IT技术,附之以惠普成功的实施经验及流程运作经验。系统的每一个子系统都可以根据企业客户服务特点进行客户化定制。 惠普服务运营管理系统解决方案"包含客户服务响应中心管理、服务渠道管理、服务备件供应链管理三大专业业务管理模块,并以工单管理作为贯穿业务流程的主线。"客户服务响应中心"负责企业服务部门对客户的咨询、求助的快速、准确响应。"服务渠道管理"帮助企业服务部门组织管理好自己的服务网络。"服务备件供应链管理"对企业服务备件供应链进行信息整合、分析,库存预测、管理,订单发送,运输监控,逆向物流监控。 客户服务响应中心系统 客户服务响应中心系统将计算机技术和通信技术有机地结合在一起,为企业搭建起现代化的顾客服务手段,将企业以顾客为本的发展战略提升到一个全新的高度。 利用客户服务响应中心系统,客户可以通过电话、传真、E-mail、Internet 及 Internet上的语音或视频等任何一种方式方便地得到企业为其提供的个性化服务。 服务渠道管理系统 为了给客户提供更为贴近的服务、更快的响应,企业将会建立覆盖一定范围的服务网络,而这样的服务网络往往使企业服务部门面临这些问题: · 服务渠道的服务水平无法控制 · 客户信息及服务信息无法及时传递 · 服务数据难于收集、利用 · 服务伙伴的欺诈行为 惠普的服务渠道管理系统利用公共电话网和互联网将遍布各地的企业授权服务代理与企业服务总部进行连接。服务渠道管理系统集中从总部将客户信息、故障信息、派单信息、备件信息及时传输给将要向客户提供现场服务的当地授权服务代理,当地授权服务代理将服务状态信息按时回传给企业总部。总部再根据系统数据定期进行业务考评、结算,并跟踪客户抱怨事件。 这样,通过服务渠道管理系统,全部的客户服务信息得以实时收集、集中处理。有利于企业监控服务网服务质量,对服务必要信息进行实时分享,服务数据集中存储,快速对比查询杜绝了服务伙伴的欺诈行为。 服务备件供应链管理系统 惠普"服务备件供应链管理系统"对企业服务备件供应链进行信息整合、库存预测、订单发送、运输监控。 惠普"服务备件供应链管理系统"分为4大功能系统: · 库房管理: · 计划管理: · 订单管理: · 运输管理: 惠普"服务备件供应链管理系统" 将企业每一个服务备件库房中每一个备件均纳入系统进行管理,实时监控,确保备件误差率降到最小值。 惠普"服务备件供应链管理系统" 可以令企业服务物资计划部门了解相关服务数据,对未来进行准确预测,确定安全库存值,满足对客户提供不同层次的服务。 惠普"服务备件供应链管理系统"通过对企业服务备件供应链的资源整合,确保企业对服务备件供应链的投入降到最低。 服务工单管理系统 惠普的"服务工单管理系统"是贯穿服务业务端到端的业务主线系统,整合所有的服务系统数据和资源,主要功能包括: · 远程支持 · 自动派单 · 维修过程管理、监控 · 维修业绩评估 · 自动结算 给客户带来的利益: · 为企业客户服务业务提供强劲支撑 o 客户服务运营业务体系和管理系统的建立,帮助企业客户服务业务实现业务集成化、流程自动化、数据可视化。 · 优化配置企业客户服务资源 o 通过客户运营业务体系的搭建,完善客户服务体系的功能,明确岗位职责,将企业客户服务资源作最佳规划、配置。 · 降低企业客户服务业务运营成本 o 通过设计合理的客户服务业务模型,系统的业务考评体制,集成化、自动化的流程运作,大大降低企业在客户服务业务中的投入,实现最大的投入产出比(ROI) · 减少企业客户服务业务运营风险 o 通过业务体系中和制成系统中建立的监控、辅助决策、规划调整、自动告警功能,帮助企业规避、应对业务运营风险。 · 帮助企业实现客户满意度最大化 成功案例 神州数码Call Center系统 中国惠普公司实施本项目的根本目标是协助神州数码完成基于CRM策略的呼叫中心系统再造,向客户提供一个先进的呼叫中心平台以及配套的集成桌面环境以允许服务代表从一个单一的桌面界面进行高效率的操作,对外使其成为沟通客户的联络中心及辅助E-Bridge的服务中心,对内使其成为客户数据的汇总、共享、分析的资源中心以及服务质量和流程的监控中心,使之能够配合神州数码未来三年的业务发展战略并提高神州数码对公众的服务承诺。从惠普看IT企业的渠道管理随着中国IT(Information Technology)市场规模的扩大,竞争的加剧,渠道的竞争逐渐成为IT企业市场竞争的主旋律。所谓渠道是指促使产品或服务顺利地被使用或消费的一整套相互依存的组织。当前如何进行有效的渠道管理正成为IT企业热切关注的问题。调查表明,来自美国硅谷的惠普公司在这方面可谓口碑颇佳。惠普公司经营多类产品,其中负责销售微机、打印机、服务器等系列计算机产品的是信息产品事业部,从1991年1997年的7年间,信息产品事业部的业务增长近20倍,1997年涨幅达64%。惠普在中国能取得这样引人注目的成绩在很大程度上正是依赖于他的健全、通畅的经销渠道。现将惠普的渠道管理策略分析如下,以供借鉴。惠普的营销分两部分。首先是纵横配合的矩阵式管理体系。横向上除北京总部外惠普公司在上海、广州、成都、西安、沈阳五个城市设分公司,这样不仅可以使分公司根据各区的实际情况组织各自的市场策划和渠道管理,而且使总部得以从繁杂的业务中解脱出来,将精力主要放在全国市场的协调和研究策划上。纵向上按产品种类设置互相独立的产品经理,如外设产品经理专门负责打印机、扫描仪等产品的销售。这样根据产品的不同特性提供不同的销售支持,分工明确。这一体系只是对渠道进行管理和提供服务与支持,本身并不销售。其次是长宽相宜的二级分销渠道。惠普信息产品事业部的产品全部通过该渠道进入最终市场。将渠道严格控制在两层,便于在价格、进货等方面进行管理,避免恶性竞争。同时惠普严格控制中间商数量,并采用经销制,选择覆盖全国或某区信誉好的中间商。目前,信息产品事业部仅拥有联想科技发展公司、上海华东电脑公司、怡海电子资源(中国)公司等9家一级分销商,并且认证500多家二级经销商。这样既达到一定覆盖面,又便于控制。惠普的一级分销商是由销售部门的专门人员管理的,双方共同规划,一起探索人员培养及发展的有效途径。而对于为数众多的二级经销商的管理则是一项复杂的工作。惠普在全国各地的分支机构和分公司里设置专业的经销管理人员专门管理各区的二级经销商。对于偏远地区的二级经销商,惠普则通过销售代表以及电子通讯等手段进行管理。各级经销商由专人分别管理能及时掌握经销商的经营状况和切实需求,提高对全国市场变化的反应速度。在渠道的管理中,惠普除采用销售奖励计划等多种措施激励经销商外,更重要的是对各级经销商的有力支持。在众多的支持措施中,颇具特色的有三点。信息流通。1998年惠普公司信息产品事业部向各级经销商正式开通了APCIC(AsiaPacificCHannnelInformationCenter)渠道专用站点。运用Internet最新技术的APCIC的使用对象为惠普公司的一级和认证二级经销商。各级经销商可以从APCIC上获得惠普公司最新发布的产品信息、市场活动报道、服务支持等,并且一级分销商还可以查询各自的业务状况,惠普公司也能通过网页平台从经销商那里获得必要信息,在网上进行业务往来。AP CIC的开通,使得信息在中文化后不超过半天便能出现在站点上,并以每星期、每天这样的频率更新。信息的实时化,对于经营高科技的IT产品的经销商来说,无疑是很大地提高了竞争能力和服务质量。显然,经销商如果不能先于竞争对手及时掌握最新信息,就会在竞争中处于劣势;如果不能及时向用户提供最新的产品信息和准确的产品性能价格比较,就会失去用户的信任。并且经销商不仅要○从产品方面,还要从销售策略、市场推广的重点等方面及时地了解惠普的政策。当惠普重点开发某一产品,并将以某种策略进行市场大力的推广时,经销商也要全面迅速地掌握信息,并及时配合开展自己的销售活动,抓住机遇以取得较好效益。当然,除了APCIC的使用之外,惠普还向经销商提供《经销商纵横》、产品资料等大量信息资源的支持。维修服务。作为经销商的坚实后盾,惠普公司自己建立的维修网覆盖全国近50个重要城市,有近百家授权维修机构组成。所有授权维修中心的发展、建立都要经过严格的考核、认证,并由惠普公司各地的维修管理中心(ESO)统一管理。惠普的售后服务质量是一流的。今年3月CCID—MIC对中国市场进行了一次PC及外设系统售后服务用户满意度调查,在众多厂家之中,惠普的服务在易联络性、服务人员水平、备件提供情况等六项指标评比中均荣获第一,受到了用户的一致好评。服务完善的维修网络提高了惠普经销商在市场竞争中的生存能力。因为优质的售后服务在用户心中树立了对惠普产品的信心,从而促使更多用户向经销商购买产品,并且经销商也赢得了许多“回头客”,手中的货也就动起来了。而且由于惠普的维修和销售是独立的,强大的维修服务支持使得经销商能一门心思搞销售,解除了后顾之忧,不会担心一开始赚了不少钱后来又赔钱,增强了经销商对惠普的信心,另外惠普允许经销商根据自己为用户提供的服务自行决定最终售价的做法不仅能促使经销商提高服务水平,调动他们的积极性,而且有助于经销商取得用户的信赖。培训机制。作为经营高科技产品的企业,培训是必不可少的,但对于像惠普这样建立如此系统规范的培训机制的在IT业却是不多见的。1998年惠普首创了“经销商大学”旨在向经销商传授惠普的领先产品、技术及先进的管理经验,以帮助经销商不断壮大起来。其授课地点主要是在新建成的“惠普信息产品培训中心”,内部配置了惠普全线信息产品和现代教学设施。培训的课程分产品培训,技术培训和经营管理培训三大部分,教学方式灵活多样,有案例教学、参观教学、函授自修和研讨等七种,所有经销商的销售人员、技术支持人员和经营管理人员均有机会参加这里的培训,在考核后成绩合格的能得到认证资格证书,成绩优秀的能获得相应奖励。惠普的这一智力支持对经销商来说是极具吸引力的,他们很需要在激励的商场竞争中有这样一个加油站。因为培训后经销商在专业技术和管理水平上会有较大提高,对惠普产品也有较深的理解,这样就能向用户推荐最适合他们需要的产品,提供最完善的服务,也就建立了公司的良好信誉。同样厂商也并不是将产品推给经销商就完成了销售,经销商的经营水平直接关系到厂商的效益。并且由于经销商在培训中接受了惠普的经营理念,从而在行动上也更易于和惠普达成一致。另外惠普在培训的奖励制度中将经销商所拥有的认证员工数量作为对其评奖的条件,这对提高渠道的质量和规范性起到了一定作用。经过以上分析,IT企业能从惠普的管理策略中获得很多有益的启示。另外,笔者还有如下的说明。把握国情与产品特点。目前中国的邮电通信系统还不完善。信息技术的应用普及还不深入,相关的法律法规还不健全。而IT市场覆盖的地理范围很广但又不均匀,这是中国的国情,惠普在各个区的重要城市设立分公司,采用二级渠道及以经销形式的销售产品的策略正是适应了这样一个国情。当然,随着IT市场的成熟和中国信息技术水平的提高,直销也会成为有效的渠道方案。同时,由于IT产品具有技术含量高,产品生命周期短,适用的行业多等特点。惠普加大对经销商在信息、售后服务和培训等方面的支持力度是极为明智的。树立全新理念。与渠道成员合作是否成功关键在于厂商对渠道成员的服务是否到位。惠普对经销商全方位的支持完全出于一个理念,那就是和经销商长期共同发展,双赢双利,把经销商当成一家人看待,并且这个理念也成为惠普特有的企业文化渗透到各项计划中。作为实际行动,惠普更是将“合作伙伴年”定为整个1998年的战略基调。正是做到了对经销商尽心竭力的服务与支持,惠普才能在渠道中营造这样一个稳定、协调的人文环境。激励渠道成员。在产品生命周期的不同阶段,中间商的积极性会不一样,要保持渠道高效,就要不断激励中间商。尤其是在产品不景气阶段,更要加强对中间商的全面支持。但无论何种形式的激励,其核心都是解决中间商目前和长远的利益问题。认识选择的双向性。IT厂商要建立严格规范的选择中间商的程序和标准,把好选择这一关,防患于未然。不仅如此,随着信息产业的发展,中间商在选择厂商时要求也越来越高。因此IT厂商要吸引优秀的中间商,取得他们的信任与合作,就要加强自身建设,提高经营素质,增强实力,扩大企业知名度[@more@]
阅读(190) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。7951人阅读
【开发工具】(3)
在国内Android常用渠道可能多达几十个,如:
谷歌市场、腾讯应用宝、百度手机助手、91手机商城、360应用平台、豌豆荚、安卓市场、小米、魅族商店、oppo手机、联想乐商、中兴汇天地、华为、安智、应用汇、木蚂蚁、3G安卓市场(久邦开发者发布系统)
uc应用商店、苏宁应用、淘宝手机助手、蘑菇市场、搜狗市场、搜狗助手、机锋、易用汇(金立手机)、中国联通沃商、中国移动MM、中国电信天翼、亿优市场、历趣世界、冒泡堂、网讯安卓开发者平台、桌乐、网易、泡椒网、十字猫、酷传、安粉、安卓园、安卓之家
所以在工作中,当项目开发、测试完毕后就需要针对不同的渠道打出对应的apk安装包。为了统计每个渠道效果,我们可以使用Umeng sdk或者百度的sdk。这些sdk的使用我就不再这里赘述了,请看相应的开发文档即可。本文以友盟统计为例。
批量打包方式一:Gradle方式
我相信现在应该很多开发环境都是AndroidStudio了,对Gradle相对还是熟悉的。如果您使用的是Eclipse也没有关系,用AndroidStudio导入Eclipse工程,或者把gradle配置放在Eclipse工程下(因为AndroidStudio和Eclipse的工程目录有些差别,把对应的目录配置对即可)
首先我们使用AndroidStudio新建一个工程,名叫AndroidBatchApk,工程结构如下:
打开AndroidManifest.xml文件 添加友盟的渠道配置如下:
在MainActivity 显示渠道名代码:
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String channel = ManifestUtil.getMetaDataFromAppication(this, "UMENG_CHANNEL");
((TextView) findViewById(R.id.tv_channel)).setText(channel);
&meta-data
android:name="UMENG_APPKEY"
android:value="Your UMENG_APPKEY" /&
&meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" /& //${UMENG_CHANNEL_VALUE}是个占位符
打开app目录下的build.gradle文件,修改成如下形式:
apply plugin: 'com.android.application'
compileSdkVersion 22
buildToolsVersion "22.0.1"
packagingOptions {
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
signingConfigs {
storeFile file("keystore_apk.jks")
storePassword "123456"
keyAlias "apk"
keyPassword "123456"
buildTypes {
zipAlignEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
android.applicationVariants.all { variant -&
def stringsFile = new File(variant.outputs[0].processResources.assetsDir, "abc.txt")
stringsFile.mkdir()
applicationVariants.all { variant -&
variant.outputs.each { output -&
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = "APK_${releaseTime()}_${variant.productFlavors[0].name}.apk"
output.outputFile = new File(outputFile.parent, fileName)
lintOptions {
checkReleaseBuilds false
abortOnError false
ignoreWarnings true
productFlavors {
appChina {}
productFlavors.all { flavor -&
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
def releaseTime() {
return new Date().format("yyyy-MM-dd HH-mm-ss", TimeZone.getTimeZone("GMT+8"))
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
上面的配置,我们测试打6个包,分别是google 、_360、 _91、 appChina、 QQ、 baidu
打开cmd命令行
进入工程所在的目录,输入命令:gradle build 不出意外将看到如下成功界面:
并且在output目录下生成了我们要的apk包(AndroidBatchApk\app\build\outputs\apk)
现在用的安装我们的生成apk文件,安装google渠道的apk。
到这里我们就通过gradle方式成功的批量打包了,
时间我们只花费了25秒,但是这是最简单的工程,如果是实际的开发中,我们的项目会很大,打包的时间也会花费很长时间,我现在公司的项目,通过这种方式打包,需要30、40分钟左右,这也是挺长的。时间上并不占优势。但是比我们用工具一个个的打apk强太多了。下面为大家界面一种更高效的打包方式。
批量打包方式二:Python批量打包
首先配置好Python,我用的是Python2.7版本。使用该方式,不把渠道名称放在AndroidManifest.xml 里,而是新建一个空文件,文件名就是渠道名称。该文件放在apk目录的META-INF里。META-INF目录下默认文件列表如下:
现在我们要解决两个问题:
如果在META-INF目录下新建文件?
我们解决第一个问题。首先我们通过AndroidStudio或者Eclipse打一个正式环境的apk安装包,不需要有渠道。
然后按照渠道列表 复制出各个渠道的,然后往apk文件里写入文件为渠道名的空文件。我们使用Python代码来实现该功能,代码如下:
import sys,os,shutil,zipfile,time
apkVersion="1.0"
srcFileName="source.apk"
destDir=os.path.abspath('.')
file=open("channel.txt")
def writeChannelToApk(filename,channel):
z=zipfile.ZipFile(filename,'a',zipfile.ZIP_DEFLATED)
empty_channel_file="META-INF/channel_{channe}".format(channe=channel)
target_file="channel.apk"
z.write(target_file,empty_channel_file)
print "writeChannelToApkchannel"+channel+","+filename+"\n"
def cpFile(srcPath,fileName):
destPath = destDir + os.path.sep + fileName
if os.path.exists(srcPath) and not os.path.exists(destPath):
shutil.copy(srcPath,destPath)
if not os.path.exists(srcFileName):
print "sourcefile"+srcFileName+"notexists"
sys.exit(1)
start = time.clock()
for line in file:
channel=line.strip('\n').strip()
targetFileName="apk_"+channel+"-"+apkVersion+".apk"
print "copyfile:"+targetFileName
cpFile(srcFileName,targetFileName)
writeChannelToApk(targetFileName,channel)
end = time.clock()
print("The function run time is : %.03f seconds" %(end-start))
上面是我编写的Python代码,根据代码我们需要三个文件,一个我们打出的apk文件(source.apk 当然名字可以改)、一个空apk文件(channel.apk)和渠道列表文件(channel.txt) 目录如下:
渠道文件内容如下:
在命令行输入:python batch_apk.py 回车
瞬间完成:
解压文件oppo渠道的apk,看看是不是META-INF下是不是有渠道文件:
如果读取META-INF下的渠道文件?
public class ManifestUtil {
public static S
public static String getUmengChannel(Context context) {
return getChannel(context);
* 获取META-INFO下面的渠道
public static String getChannel(Context context) {
if (!TextUtils.isEmpty(channel)) {
ApplicationInfo appinfo = context.getApplicationInfo();
String sourceDir = appinfo.sourceD
ZipFile zipfile = null;
final String start_flag = "META-INF/channel_";
zipfile = new ZipFile(sourceDir);
Enumeration&?& entries = zipfile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = ((ZipEntry) entries.nextElement());
String entryName = entry.getName();
if (entryName.contains(start_flag)) {
channel = entryName.replaceAll(start_flag, "");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (zipfile != null) {
zipfile.close();
} catch (IOException e) {
e.printStackTrace();
return "";
我们安装oppo渠道的apk看看能否读取到渠道名:
通过上面的对比,使用Pyhon往META-INF写入渠道的方式,比gradle方式极大的提高了效率。
Have Fun !
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:751125次
积分:7408
积分:7408
排名:第2601名
原创:101篇
评论:360条
群里有阿里,360技术大神
定期会发布一些招聘和技术干货.
Android高级进阶群号 : (点击下面加群)
文章:13篇
阅读:39275
文章:16篇
阅读:70961
文章:25篇
阅读:240655
(3)(5)(3)(1)(5)(5)(1)(3)(9)(1)(2)(1)(1)(2)(6)(2)(1)(2)(1)(3)(1)(2)(2)(1)(16)(1)(16)(5)(2)(5)

我要回帖

更多关于 渠道管理系统 的文章

 

随机推荐