Appium Android 获取包名和 Activity 的几种方法
来源:互联网 发布:采购询价软件 编辑:程序博客网 时间:2024/06/04 19:24
1.相关链接:https://testerhome.com/topics/9209
Guide
本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP。以下方法主要来源于网络和社区同学的贡献,特此感谢!
1. 方法一: pm list package查看包名
adb shell pm list package -f
将获取手机内所有apk对应的包名和路径
adb shell pm list package -3 -f #获取第三方apk的包
2. 方法二:dumpsys window(本人最常用)
先打开需要查找的apk后,再敲入以上命令
adb shell dumpsys window w | findstr \/ | findstr name=或adb shell dumpsys window |findstr mCurrent或adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'"
注:此处用sed 将部分字符串替换为空,格式为“sed 's/要被取代的字串/新的字串/g'”
3. 方法三:logcat日志抓取LAUNCHER
adb shell “ logcat | grep android.intent.category.LAUNCHER "或adb logcat ActivityManager:I *:s
4. 方法四:dumpsys activity
先启动需要的查找的apk,再敲入以上命令
adb shell dumpsys activity | grep mFocusedActivity
5. 方法五:logcat日志抓START
C:\Users\Administrator>adb shellroot@msm8916_32_512:/ # logcat | grep START
先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager
6. 方法六:aapt工具(推荐使用)
使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令
aapt dump badging D:\weixin658android1060.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息
7. 方法七:apktool反编译app后查看AndroidManifest.xml
1.使用apktool反编译app
java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk
2.打开AndroidManifest.xml文件
manifest节点的package属性值是应用的包名:
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
8. 方法八:使用monkey 命令查看Activity
adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using
注:
1. findstr 和 grep 查找字符串说明
findstr:windows平台查找字符串命令, 一般格式如下:
adb shell xxx | findstr xxx
grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:
adb shell "xxx | grep xxx"
- Appium Android 获取包名和 Activity 的几种方法
- android获取包名的几种方法
- Android学习-获取APK包名的几种方法
- Appium基础篇2-如何获取包名和Activity
- appium记录--如何获取应用的包名以及Activity的方法
- 查询Android的包名和activity名方法
- Appium的一点一滴:获取Android Activity三种方法
- android获取APP 包名和activity
- Android获取Apk包名和启动的Activity
- 获取APK包名的几种方法
- 获取APK包名的几种方法
- 快速获取Android应用包名和Activity名
- 快速获取Android应用包名和Activity名
- 如何获取app 的包名和activity 名
- 如何获取app 的包名和activity 名
- 获取app 的包名和activity 名
- 如何获取app 的包名和activity 名
- Android 根据apk获取应用包名和启动Activity
- centos系统用yum安装mysql5.7
- “找炸弹”
- 类型安全是?
- 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- Unity3d 技巧(3)-如何在自己的程序中 Shader.Find 到自己写的shader
- Appium Android 获取包名和 Activity 的几种方法
- [DP] UOJ #311. 【UNR #2】积劳成疾
- 系统服务管理
- 谁是最好的COder
- C语言学习记录 指针数组和数组指针的区别
- 协同过滤 推荐系统实战
- css_day04_盒子模型的宽度和高度理解
- Android Studio查看SHA1码
- ios-结构体和类的区别