Android adb常见命令总结
Android

Android adb常见命令总结

Android Debug Bridge(adb)是Android开发中不可或缺的工具,它提供了丰富的命令集,用于与Android设备进行通信、调试和管理。本文将详细探讨一些常见的adb命令及其具体用法,帮助开发者更深入地理解和运用adb工具。

1. 连接设备

1.1 连接设备(通过USB)

adb devices

该命令用于列出当前连接的所有Android设备及其状态。设备连接后,需确保已启用开发者选项和USB调试。

1.2 连接设备(通过Wi-Fi)

adb tcpip 5555
adb connect <device_ip_address>:5555

通过Wi-Fi连接到Android设备。首先,使用adb tcpip 5555将设备端口设置为5555,然后使用adb connect <device_ip_address>:5555连接到指定IP地址的设备。

2. 安装和卸载应用

2.1 安装APK

adb install <path_to_apk>

将指定的APK文件安装到连接的Android设备上。若设备上已存在同名应用,可以使用-r选项进行覆盖安装。

2.2 卸载应用

adb uninstall <package_name>

卸载指定包名的应用。应用包名可以在设备上的应用管理界面或使用adb shell pm list packages获取。

2.3 更新安装APK

adb install -r <path_to_apk>

更新已安装应用的APK文件,保留应用数据和设置。

3. 文件传输

3.1 从设备复制文件到本地

adb pull <remote_path> <local_path>

从连接的Android设备上复制文件到本地计算机。<remote_path>是设备上文件的路径,<local_path>是目标路径。

3.2 从本地复制文件到设备

adb push <local_path> <remote_path>

将本地计算机上的文件复制到连接的Android设备。<local_path>是本地文件路径,<remote_path>是设备上的目标路径。

4. 运行命令

4.1 启动shell

adb shell

启动连接设备上的交互式shell会话,可以在该shell中执行各种命令。

4.2 执行shell命令

adb shell <command>

在连接设备的shell中执行指定的命令。例如,adb shell ls -l /sdcard用于列出设备上sdcard目录的文件。

5. 应用管理

5.1 查看已安装应用列表

adb shell pm list packages

列出设备上所有已安装应用的包名。

5.2 查看应用详细信息

adb shell dumpsys package <package_name>

显示指定应用的详细信息,包括版本号、权限、组件等。

5.3 清除应用数据和缓存

adb shell pm clear <package_name>

清除指定应用的数据和缓存,相当于应用的“清除数据”操作。

6. 日志查看

6.1 查看设备日志

adb logcat

实时查看连接设备的系统和应用日志。可以通过添加选项(如-d)以及过滤器(如应用名称或日志级别)进行更精细的控制。

6.2 保存设备日志到文件

adb logcat -d > <file_name>

将设备日志保存到本地文件中,方便后续分析和调试。

7. 重启和恢复出厂设置

7.1 重启设备

adb reboot

重新启动连接的Android设备。

7.2 进入恢复模式

adb reboot recovery

重新启动设备并进入恢复模式,用于执行高级操作,如固件刷写或数据恢复。

7.3 恢复出厂设置

adb shell recovery --wipe_data

在恢复模式下执行,清除设备的所有用户数据和设置,将设备恢复到出厂状态。

8. 截屏和录屏

8.1 截屏

adb shell screencap /sdcard/screenshot.png
adb pull /sdcard/screenshot.png <local_path>

在设备上截取当前屏幕内容,并将截图保存到本地计算机。

8.2 录屏

adb shell screenrecord /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 <local_path>

在设备上录制屏幕操作,并将录屏文件保存到本地计算机。

9. 调试和性能分析

9.1 查看设备CPU信息

adb shell cat /proc/cpuinfo

显示连接设备的CPU信息,包括处理器型号、核心数等。

9.2 查看设备内存信息

adb shell cat /proc/meminfo

显示连接设备的内存信息,包括总内存、空闲内存、缓存等。

9.3 查看设备GPU信息

adb shell dumpsys SurfaceFlinger --list

显示连接设备的GPU信息,包括支持的显示器信息和图层信息。

9.4 查看设备网络状态

adb shell dumpsys netstats

显示连接设备的网络统计信息,包括数据使用情况、流量统计等。

10. 调试模式设置

10.1 切换设备到Root模式

adb root

将连接设备切换到Root模式,获取更高的系统权限。需要设备支持并已解锁。

10.2 查看设备SELinux状态

adb shell getenforce

显示连接设备的SELinux安全策略状态,通常为EnforcingPermissiveDisabled

11. 文件系统操作

11.1 查看文件或目录属性

adb shell ls -l <path>

显示连接设备上指定路径的文件或目录属性,包括权限、所有者、大小等信息。

11.2 修改文件或目录权限

adb shell chmod <permissions> <path>

修改连接设备上指定路径的文件或目录的权限。<permissions>可以是八进制或符号形式的权限。

12. 硬件操作

12.1 获取设备分辨率

adb shell wm size

显示连接设备的屏幕分辨率信息。

12.2 截取指定区域的屏幕截图

adb shell screencap -p | sed 's/\r$//' > screen.png

这个命令截取的屏幕内容保存为文件

13. 输入事件模拟

13.1 发送文本到设备

adb shell input text "Hello, Android!"

将指定文本输入到设备当前活动的文本框中。适用于自动化测试和输入模拟场景。

13.2 模拟触摸事件

adb shell input tap <x> <y>

在设备屏幕上的指定位置 <x>, <y> 执行一次单击操作。可用于自动化测试或远程控制设备。

13.3 模拟滑动事件

adb shell input swipe <start_x> <start_y> <end_x> <end_y> [<duration_ms>]

从设备屏幕上的起始位置 <start_x>, <start_y> 滑动到结束位置 <end_x>, <end_y>。可选参数 <duration_ms> 指定滑动的持续时间(毫秒)。

14. 与应用交互

14.1 发送广播给应用

adb shell am broadcast -a <action>

向设备上的应用发送广播,<action> 是广播的动作名称,可以携带额外的数据和信息。

14.2 启动应用的Activity

adb shell am start -n <package_name>/<activity_name>

启动指定应用的指定Activity,<package_name> 是应用的包名,<activity_name> 是要启动的Activity名称。

14.3 强制停止应用

adb shell am force-stop <package_name>

停止运行中的指定应用,清除其所有活动和进程。

15. 日志管理

15.1 清除设备日志缓存

adb logcat -c

清除设备上当前日志的缓存,通常在需要清除旧日志并开始记录新日志时使用。

15.2 过滤显示特定应用的日志

adb logcat -s <tag>

仅显示指定标签 <tag> 的日志消息,用于调试特定应用或组件。

16. 系统状态查询

16.1 查看连接设备的系统版本

adb shell getprop ro.build.version.release

显示连接设备的Android系统版本号。

16.2 查看设备电池状态

adb shell dumpsys battery

显示连接设备的当前电池状态,包括充电状态、电池健康状况和剩余电量等信息。

17. 其他实用命令

17.1 安装应用时跳过权限提示

adb install -g <path_to_apk>

安装应用时跳过权限提示,仅适用于开发者模式。

17.2 查看连接设备的指定目录下文件列表

adb shell ls -l /sdcard/

显示连接设备上指定路径(如/sdcard/)的文件和目录列表。

17.3 获取设备截屏并显示在屏幕上

adb shell screencap -p | display

将设备的当前屏幕截图获取并显示在计算机的屏幕上。

18. 进程管理

18.1 查看设备上运行的进程

adb shell ps

显示连接设备上当前正在运行的所有进程及其详细信息,包括进程ID(PID)、用户ID(UID)、内存使用情况等。

18.2 结束指定进程

adb shell kill <pid>

结束指定进程,其中 <pid> 是要结束的进程的ID。

19. 调试器连接

19.1 连接调试器到指定进程

adb jdwp

启动一个新的JDWP(Java调试器协议)连接,用于调试连接设备上的指定Java进程。

19.2 列出设备上所有的调试器端口

adb lsof

显示连接设备上所有当前打开的文件(包括网络套接字和本地文件),可用于查看调试器端口。

20. 应用数据查看和操作

20.1 导出应用数据库到本地

adb pull /data/data/<package_name>/databases/<database_name> <local_path>

将连接设备上指定应用的数据库文件导出到本地计算机,便于离线分析和备份。

20.2 导出应用的Shared Preferences文件到本地

adb pull /data/data/<package_name>/shared_prefs/<pref_file_name>.xml <local_path>

将连接设备上指定应用的Shared Preferences文件导出到本地计算机,用于查看和修改应用的设置数据。

21. 功能性测试

21.1 执行Monkey测试

adb shell monkey -p <package_name> -v <event_count>

执行Monkey测试,随机生成用户事件(如点击、滑动等),用于测试应用的稳定性和响应性能。

21.2 安装应用时不保留数据和缓存

adb install -f <path_to_apk>

安装应用时不保留旧数据和缓存,用于清除应用数据后进行新一轮的安装测试。

22. 应用性能分析

22.1 启动应用性能监视器

adb shell dumpsys cpuinfo

显示连接设备上当前正在运行的应用的CPU使用情况和详细信息,用于性能分析和优化。

22.2 查看应用的内存使用情况

adb shell dumpsys meminfo <package_name>

显示连接设备上指定应用的内存使用情况,包括内存总量、分配的堆大小、内存泄漏等信息。

23. 设备权限管理

23.1 授予应用权限

adb shell pm grant <package_name> <permission>

为连接设备上的应用授予指定的权限,<permission> 是权限名称。

23.2 撤销应用权限

adb shell pm revoke <package_name> <permission>

撤销连接设备上的应用的指定权限,<permission> 是权限名称。

24. 网络调试

24.1 查看设备网络连接状态

adb shell netstat

显示连接设备的网络连接状态,包括TCP和UDP连接信息。

24.2 设置设备网络模拟条件

adb shell tc qdisc add dev <interface> root netem delay <delay_time>

通过添加网络模拟队列规则,模拟设备的延迟等网络条件,用于测试应用在不同网络环境下的表现。

25. 调试安全性

25.1 查看设备安全性状态

adb shell dumpsys package <package_name> | grep permissions

显示连接设备上指定应用的权限信息,用于安全审计和权限管理。

25.2 检查设备安全漏洞

adb shell dumpstate > <file_name>

生成连接设备的状态信息报告,并保存到本地文件,包括设备信息、系统状态和可能的安全漏洞。

26. 多设备管理

26.1 列出所有连接的设备和模拟器

adb devices -l

显示所有连接到计算机的Android设备和模拟器的详细信息,包括设备序列号、状态和类型。

26.2 在多个设备上并行执行命令

adb -s <device_serial_number> <command>

使用指定的设备序列号执行adb命令,适用于同时管理多个连接的设备或模拟器。

27. 系统设置调整

27.1 修改设备屏幕亮度

adb shell settings put system screen_brightness <value>

设置连接设备的屏幕亮度值,<value> 是一个0到255之间的整数。

27.2 修改设备音量

adb shell media volume --stream music --set 10

设置连接设备的媒体音量值

5 1 投票
文章评分
订阅评论
提醒
guest

0 评论
最旧
最新 最多投票
0
希望看到您的想法,请您发表评论x