【Android】自动化设计过程中需要adb命令的场景

在测试过程中,对Android系统越来越了解,很多重复的东西,都想通过一些编程手段来解决,下面的一些场景是在实现ApkInstallTool(python)时用到的,这里罗列下经常使用的场景,对应的命令和python实现脚本后续会分享出来。


Android系统内置的工具包:

Toybox:是一些Linux命令行实用程序的实现。这些包括ls,cp,mv和约150个其他。Toybox项目于2006年开始,并成为BSD许可的 BusyBox替代品。Toybox包含在Android 6.0“Marshmallow” 和所有后来的Android版本中,也可以在某些其他操作系统上安装。


BusyBox:是一种在单个可执行文件中提供几个精简的Unix工具的软件。它运行在各种POSIX环境,例如Linux的,Android的,[7]和FreeBSD的,[8]虽然许多的它提供被设计成具有由Linux内核提供的接口工作的工具。它专门用于资源非常有限的嵌入式操作系统。称它为“的作者瑞士军刀的嵌入式Linux ”,[9]为单个可执行替代300个多常用命令的基本功能。它根据GNU通用公共许可证 v2 的条款发布为免费软件。

Toolbox:是安卓系统中能够实现内存的管理,备份管理和清除数据等功能的系统文件。


信息内容获取的场景:

1. 设备系统静态信息(proc  build.prop  getprop wm cpu mem ip battery )
2. 运行时动态信息(logcat  service  dumpsys top ps )
3. 外界输入操作(am pull psuh )

数据文件及操作的场景:

1. 查看连接上电脑的所有手机设备 
2. 安装卸载app
3. 界面截图录屏
4. 向手机发送或接受手机文件
5. 开启和关闭app程序
6. 清除应用程序数据信息
7. 测试中断网操作(部分手机可以)
8. 测试过程中崩溃和anr日志获取
9. WiFi网络下,电脑连接手机
10. 查看手机中运行的服务有哪些
11. 查看运行服务中的信息内容
12. 是否安装某一个pkg的app
13. uiautomator的dump xml
14. 通过查看手机系统文件查看设备信息(android版本;手机型号;手机品牌;手机正式名称;手机制造商) 
15. 获取手机的ip地址 
       手机IP
            #Android手机系统在6.0以上后,getprop无法获取手机的ip,可以使用这个命令:
                       adb shell ifconfig wlan0 | busybox awk 'NR==2{FS="[ :]+";print $4}'
            //-F[: ]表示指定分隔符可以是:或者 (空格) 这里指定多个分隔符 
             [ ] 表示一个字符的集合,+则是一个正则表达式,表示+前面的字符(:或者空格)重复1次或者一次以上

16. 获取手机的dpi值 
17. 获取手机的分辨率 
18. 显示已安装的所有安装包(包括系统和第三方) 
19. 清除应用的数据(初始化) 
20. 查看apk文件的信息 
21. 向手机的光标出发送文本 
22. 查看手机的运存大小 
        23.查看应用程序所需系统的权限

猜你喜欢

转载自blog.csdn.net/u013948858/article/details/78363216