客户端UI自动化获取应用包名---脚本执行获取

本文介绍了如何通过aapt工具无root权限获取Android应用的包名,强调了这种方法的优势,如直接输出、无需先启动App、无需root。在执行aapt命令后,通过Python的subprocess模块解析输出内容,提取包名。虽然在解码过程中遇到编码问题,最终解决了,但获取应用activity的方法未能实现,作者计划寻找其他途径。同时,作者提到使用notepad++插件获取手机日志的方法将在后续分享。
摘要由CSDN通过智能技术生成

简单回顾获取包名的几种方法:

只介绍不需要root的方法:

方法 劣势点
adb shell pm list package 将会列出所有App包名,寻找也是麻烦
adb shell dumpsys window w | findstr \/ | findstr name= 需要先打开apk后,再敲命令
(对于自动化测试并不友好)
adb shell dumpsys activity 1.需要先打开App,再执行命令
2.需要过滤筛选
adb shell logcat | findstr START 1.需要运行一次App
2.输出内容较多
使用这个命令我一般筛选cmp=
*aapt dump badging (apk path) | findstr package 1.aapt环境变量问题
2.需要指定apk路径

“aapt dump badging ApkPath”就是这次的主题

为什么选择此方法用在自动化脚本:

  1. 直接输出 ,执行命令将直接输出package name;
  2. 不需要先启动一次App;
  3. 不需要root权限

== 注意点==

  1. aapt 在SDK的build-tools目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk),如果 没有加入环境变量而直接引用会提示:不是内部或外部命令…
  2. 指定apk包所在路径:
    1.使用Windows下apk包:D:/xxx.apk(or脚本相对路径)
    2.使用Linux下apk包:同Windows一样,指定路径即可
    3.使用手机内apk包:不知道行不行

放代码:

#coding:utf-8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值