android渠道版本号,2. 验证Android渠道版本渠道号 - 测试手册
国内市场上有许许多多的应用市场,常见的有:百度、360、腾讯应用宝、豌豆荚等。
其他手机厂家如小米、华为、魅族、三星等都有自己的应用市场,总共有上百家!
问题
发版前,Android工程师打包了上百个渠道版本,如何检验渠道号与apk名称是否一致?
希望自动去获取apk的友盟渠道号,并自动进行校验。
怎么做
Android Apk的渠道号一般存放在AndroidManifest.xml文件中。
批量反编译Android Apk
遍历反编译后的apk文件夹,从AndroidManifest.xml取出渠道号
比较渠道号与apk名称
将测试结果写入csv文件
a. 反编译Android Apk
反编译Apk,得到源文件和资源文件.
渠道号存放在 AndroidManifest.xml 文件中。
java -jar apktool.jar d -f package.apk
输出结果如下:
I: Using Apktool 2.1.0 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Administrator\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
备注:
Android apk整体反编译所需时间较长,如只获取AndroidManifest.xml文件,那么只需反编译
资源文件即可,不对源代码进行反编译,使用参数 -s ,只需花费很少时间.
b. 获取渠道号
遍历AndroidManifest.xml文件,取出渠道号所在行.
python实现如下:
with open(manifest,'r+') as m:
umeng_line = [ line.strip() for line in m.readlines() if 'UMENG_CHANNEL' in line ]
#取出渠道号所在行后,进行分割、去除.
或者直接输入编译后的apk文件夹,具体如下:
def get_apk_umeng_value(reverse_folder):
umeng_channel = []
for rfn in reverse_folder:
manifest = os.path.join(version_catalogue,rfn,'AndroidManifest.xml')
with open(manifest,'r+') as m:
umeng_line = [ line.strip() for line in m.readlines() if 'UMENG_CHANNEL' in line ]
for ul in umeng_line:
ucv = ul.split('=')[2]
#使用strip过滤"/>//--等特殊字符
umeng_channel.append(ucv.strip('"/>// --'))
return umeng_channel
完整代码地址:
android渠道版本号,2. 验证Android渠道版本渠道号 - 测试手册相关推荐
- android sutdio版本号,电脑中Android studio版本号如何查看_电脑中查看Android studio版本号的步骤-系统城...
Android studio是谷歌推出的一个Android集成开发工具,在使用的时候,经常会有新版本不断产生所以就需要查看自己的Android studio版本号来确保是否需要进行更新,很多用户不知道 ...
- android获取版本号报错,Android开发:获取安卓App版本号的方法步骤
在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能.Android的App版本号相关内容比iOS的App版本号内容要多,而 ...
- android获取操作系统版本号,Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...
1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android系统版本号 5.获取手机IMEI串号 6.获取手机中的语言列表 SystemUtil类 1. /** 2. ...
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...
最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能: 1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android ...
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能: 1.获取手机制造厂商 2.获取手机型号 3.获取手机系统当前使用的语言 4.获取Android ...
- android 打包版本号,Android打包版本号设置
之前没有设置过打包的命名,每次打包都是默认的"app-realease.apk",之后手动修改名字来显示出它是一个新版本. 晚上学习了如何配置打包名称,很简单,修改build.gr ...
- Android开发时包名、签名、渠道和版本号的易坑点(转)
本文中总结一下 Android 开发中容易被忽视的一些注意事项吧: 一.谨慎选择包名 包名 (Package Name) 就相当于一款应用在户口本上登记的名字,是系统用来区分不同应用的字段.重复的包名 ...
- Android渠道包自动化验证
随着产品发布越来越快,渠道包越来越多,渠道包自动化验证重要性逐渐凸显出来,需要将大把的人力从中解放出来,且避免人工失误造成的验证不完全: 最近客户端产品尝试使用渠道包自动化测试的方法,这里说说我们目前 ...
- 百度 android 市场,百度下线91和安卓市场渠道,第三方应用商店继续走向衰落
编者按:本文来自界面新闻,作者 伍洋宇,36氪经授权发布. 2月17日晚,"百度手机助手开发者"公众号发布了一篇<关于91和安卓市场渠道的下线通知>,宣布将不再支持91 ...
- android多媒体框架学习 详解 最新版本
一:多媒体框架概述 jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现 ...
最新文章
- Spring 核心特性
- javascript --- 使用run函数,让100条ajax依次执行
- 数据特征分析-正太分布
- struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)
- 华为首家欧洲生产厂选择落户法国小镇 将为4G/5G基站生产零部件
- [导入]基于Spring+zk的WebDisk系统研究.pdf(462.84 KB)
- hdu 5596 GTW likes gt
- vue axios封装以及登录token过期跳转问题
- 01背包问题c语言,遗传算法的0-1背包问题(c语言)
- 社会工程学主要学习内容及书籍推荐
- 解决移动端点击响应速度慢的问题tap
- 君正X1000芯片性能和处理器介绍
- html css的参考文献,网页制作论文参考文献大全 网页制作参考文献有哪些
- matlab视频文件处理,Matlab处理视频文件1
- ed是什么梗_美国大学EA,ED什么意思?
- x5650服务器装系统,笔记本处理器天梯图,小猪教您最新笔记本显卡天梯图
- Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)
- 如何查看电脑的操作系统以及更改计算机名称
- 预训练模型(PTMs)发展史
- 线程池的创建及参数设置详解
热门文章
- 8/30 Hourglass网络原理
- 为什么网站要使用手机验证码?
- (转)高盛报告:人工智能、机器学习和数据将推动未来生产力的发展
- 家用路由器设置虚拟服务器,家用路由器设置虚拟服务器
- 包包各部位名称图解_手袋包细节详解
- Android免费离线文字转语言+讯飞语记
- 冲刺中高考,AI辅助学习靠谱吗?
- android流光字体实现,CSS实现字体流光/高光滑动
- 【论文翻译】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- struggle for English college test band 6