问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

掌握ADB高级技巧,成为安卓大神!

创作时间:
作者:
@小白创作中心

掌握ADB高级技巧,成为安卓大神!

引用
百度
12
来源
1.
https://cloud.baidu.com/article/3305892
2.
https://blog.csdn.net/qq_40791475/article/details/142669574
3.
https://blog.csdn.net/weixin_39559327/article/details/139493925
4.
https://cloud.baidu.com/article/3305938
5.
https://blog.csdn.net/m0_37638307/article/details/136964559
6.
https://blog.csdn.net/m0_52668874/article/details/137842871
7.
https://wenku.csdn.net/column/62dvvhxht6
8.
https://wenku.csdn.net/column/7kk0k2k6q2
9.
https://cloud.baidu.com/article/3305942
10.
https://www.cnblogs.com/xiaodi888/p/18661990
11.
https://cloud.tencent.com/developer/article/2403840
12.
https://www.cnblogs.com/-Donge/p/18151999

在移动开发领域,ADB(Android Debug Bridge)是一个不可或缺的强大工具。通过掌握ADB Shell的各种高级操作技巧,如应用管理、数据备份与恢复以及系统属性修改等,你将能够更高效地进行设备调试和开发工作。无论是初学者还是经验丰富的开发者,熟练运用ADB都能显著提升你的工作效率,让你轻松成为安卓领域的技术大神。

01

ADB基础概念与工作原理

ADB,全称Android Debug Bridge,是Android SDK中的一个命令行工具,主要用于开发者和高级用户与Android设备交互。它可以通过USB连接或者无线网络连接设备,帮助开发者调试应用、控制设备、传输数据、执行命令和操作系统等。开发者可以使用ADB执行诸如安装/卸载应用、重启设备、访问设备的文件系统等任务。

ADB由三个部分组成:

  • 客户端(Client):你输入命令的地方,通常是命令行终端。
  • 守护程序(Daemon):在Android设备上运行的后台进程,负责执行ADB命令。
  • 服务器(Server):协调客户端和守护程序之间的通信。

当你在电脑的终端输入ADB命令时,客户端将命令发送给服务器,服务器再与设备上的守护程序通信以执行命令。

02

ADB核心命令与功能详解

1. 设备连接与管理

  • 查看已连接设备

    adb devices
    

    列出当前所有已连接的设备及其状态。

  • 通过Wi-Fi连接设备

    adb connect <device-ip>:<port>
    

    通过设备的IP地址和端口号进行连接。

  • 断开Wi-Fi连接

    adb disconnect <device-ip>:<port>
    

    断开与指定设备的Wi-Fi连接。

  • 获取设备序列号(详细)

    adb get-serialno -v
    

    显示当前连接设备的序列号及其详细信息。

  • 检查设备是否root

    adb shell
    

    进入设备shell后执行su命令,若能成功切换则设备已root。

  • 列出设备上的所有USB接口

    adb shell ls /sys/class/usb_device/
    

    查看设备上的USB接口信息。

  • 启用或禁用ADB调试

    adb shell settings put global adb_enabled <0/1>
    

    在设备的“开发者选项”中开启或关闭“USB调试”。

  • 重启ADB服务

    adb kill-server && adb start-server
    

    先杀死ADB服务,再重新启动。

  • 查询设备IP地址

    adb shell ifconfig | grep 'inet ' | awk '{print $2}'
    

    获取设备的IP地址。

  • 设置设备名称

    adb shell setprop sys.device_name <new_name>
    

    设置设备名称。

  • 获取设备MAC地址

    adb shell cat /sys/class/net/wlan0/address
    

    查看设备的Wi-Fi MAC地址。

  • 进入设备的Fastboot模式

    adb reboot bootloader
    

    通常是通过同时按住音量下键和电源键进入。

  • 查询设备支持的ADB版本

    adb version
    

    显示ADB客户端和服务器的版本信息。

  • 查看连接设备详情

    adb shell getprop ro.hardware
    

    显示设备的硬件信息。

  • 查看设备制造商

    adb shell getprop ro.manufacturer
    

    显示设备制造商名称。

  • 查看设备型号

    adb shell getprop ro.product.model
    

    显示设备型号。

  • 通过TCP/IP连接设备(指定端口)

    adb tcpip 5555
    adb connect <设备的IP地址>:5555
    

    将ADB连接模式切换到TCP/IP,并指定端口5555。

  • 断开指定设备的USB连接

    adb usb disconnect <device_serial>
    

    需要root权限,断开特定设备的USB连接。

2. 文件传输操作

  • 推送文件到设备

    adb push <本地文件路径> <设备目标路径>
    

    例如:

    adb push myfile.txt /sdcard/
    
  • 从设备拉取文件

    adb pull <设备文件路径> <本地目标路径>
    

    例如:

    adb pull /sdcard/myfile.txt .
    
  • 查看设备文件系统

    adb shell ls /sdcard/
    

    列出设备SD卡目录下的文件。

3. 应用管理操作

  • 安装APK文件

    adb install <apk文件路径>
    

    例如:

    adb install -r -g app.apk
    

    -r 表示覆盖安装,-g 表示授予所有运行时权限。

  • 卸载应用

    adb uninstall <应用包名>
    

    例如:

    adb uninstall com.example.app
    
  • 列出已安装的应用

    adb shell pm list packages
    

    显示设备上所有已安装的应用包名。

  • 清除应用数据

    adb shell pm clear <应用包名>
    

    清除指定应用的所有数据。

4. 系统操作和设置

  • 进入设备Shell

    adb shell
    

    进入设备的命令行界面,可以执行更多系统级操作。

  • 抓取设备当前屏幕截图

    adb shell screencap /sdcard/screenshot.png
    adb pull /sdcard/screenshot.png
    

    先在设备上截图,然后拉取到本地。

  • 录制设备屏幕

    adb shell screenrecord /sdcard/demo.mp4
    

    开始录制设备屏幕,按Ctrl+C停止录制。

  • 查看电池状态

    adb shell dumpsys battery
    

    显示设备的电池相关信息。

5. 网络操作

  • 通过Wi-Fi连接设备

    adb tcpip 5555
    adb connect <设备的IP地址>:5555
    

    先设置端口,再用adb connect命令连接。

  • 断开Wi-Fi调试

    adb disconnect <设备的IP地址>:5555
    

6. 开发调试操作

  • 启动特定Activity

    adb shell am start -n <包名>/<Activity名>
    

    例如:

    adb shell am start -n com.example.app/com.example.app.MainActivity
    
  • 停止特定应用

    adb shell am force-stop <包名>
    

    强制停止指定应用。

  • 查看设备内存使用情况

    adb shell dumpsys meminfo
    

    显示设备的内存使用情况。

7. 高级开发操作

  • 进入Fastboot模式

    adb reboot bootloader
    
  • 解锁Bootloader

    fastboot oem unlock
    

    需要在Fastboot模式下执行。

  • 锁定Bootloader

    fastboot oem lock
    
  • 刷入系统镜像

    fastboot flash system <system.img>
    
  • 重启设备

    adb reboot
    
03

ADB实战技巧与应用场景

1. 日志与错误排查

  • 查看设备日志

    adb logcat
    

    实时查看设备上的日志信息,帮助定位问题和调试应用。

  • 生成错误报告

    adb bugreport > bugreport.txt
    

    生成一个包含dumpsys、dumpstate和logcat输出的错误报告文件。

2. 性能监控

  • 查看CPU使用情况

    adb shell top
    

    显示设备的CPU使用情况。

  • 查看内存使用情况

    adb shell dumpsys meminfo
    

    显示设备的内存使用情况。

  • 查看电池使用情况

    adb shell dumpsys battery
    

    显示设备的电池相关信息。

3. 自动化测试

  • 模拟用户输入

    adb shell input keyevent KEYCODE_HOME
    

    模拟按下HOME键。

  • 启动应用并测试

    adb shell am start -n <包名>/<Activity名>
    adb shell input tap <x> <y>
    

    启动应用并模拟点击屏幕。

4. 系统信息查询

  • 获取系统属性

    adb shell getprop
    

    显示设备的所有系统属性。

  • 查看设备信息

    adb shell cat /proc/cpuinfo
    adb shell cat /proc/meminfo
    

    查看CPU和内存信息。

04

常见问题与解决方案

1. ADB无法识别设备

  • 检查USB调试是否开启
    确保设备的USB调试已开启。

  • 检查USB配置
    确保设备的USB配置为MTP(Media Transfer Protocol)。

  • 重启ADB服务

    adb kill-server
    adb start-server
    
  • 更新设备驱动
    在设备管理器中检查并更新Android设备驱动。

2. ADB连接不稳定

  • 使用稳定USB线
    更换一根质量好的USB线。

  • 重启设备和电脑
    有时候简单重启可以解决问题。

  • 使用网络调试

    adb tcpip 5555
    adb connect <设备IP地址>
    

3. 权限问题

  • 确保运行在管理员权限下
    在Windows上以管理员身份运行命令提示符。

  • 检查设备权限设置
    确保设备允许来自这台电脑的调试。

4. 多设备连接问题

  • 指定设备
    使用-s参数指定设备:
    adb -s <设备序列号> shell
    

5. ADB命令失败

  • 检查ADB版本
    确保使用的是最新版本的ADB。

  • 查看错误信息
    仔细阅读错误信息,根据提示解决问题。

  • 重启设备和ADB服务
    有时候重启是最简单的解决方案。

05

最佳实践与注意事项

  1. 保持ADB更新
    确保使用最新版本的ADB工具,可以通过Android SDK Manager进行更新。

  2. 合理使用root权限
    一些高级操作需要root权限,但不要滥用,确保在安全环境下使用。

  3. 注意隐私和安全
    在进行设备操作时,注意保护用户隐私,不要随意访问敏感数据。

  4. 备份重要数据
    在进行系统级操作前,建议先备份重要数据。

  5. 熟悉常用快捷键
    在ADB Shell中,熟悉常用的快捷键可以提高效率,如Ctrl+C终止命令。

  6. 使用ADB配对
    对于支持的设备,可以使用adb pair进行无线调试配对。

  7. 学习更多Shell命令
    ADB Shell支持大多数Linux命令,学习更多Shell命令可以提高效率。

  8. 利用Android Studio
    结合Android Studio使用ADB,可以更方便地进行应用调试和日志查看。

通过掌握这些ADB高级技巧,你将能够更高效地进行Android设备的调试和开发工作。无论是日常开发还是解决复杂问题,ADB都是你不可或缺的得力助手。希望本文能帮助你更好地理解和使用ADB,让你在Android开发的道路上更进一步。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号