菜鸟科技网

Android命令行工具有哪些常用命令?

Android命令行工具是开发者与Android系统交互的核心桥梁,通过命令行可以高效完成设备调试、应用安装、日志监控、系统信息查询等操作,这些工具既包含Android SDK自带的基础命令,也涉及系统级shell指令,覆盖了开发、测试、运维全流程需求,以下从核心工具、使用场景及实践技巧展开详细说明。

Android命令行工具有哪些常用命令?-图1
(图片来源网络,侵删)

Android命令行工具的核心组成与功能

Android命令行工具主要分为SDK工具和系统shell工具两类,前者通过adb(Android Debug Bridge)调用,后者需通过adb shell进入设备终端执行。

(一)SDK基础工具:adb的核心用法

adb是Android命令行工具的枢纽,需配置环境变量后全局使用,其核心功能包括设备连接、文件传输、应用安装与调试等。

  1. 设备连接管理

    • 检测连接设备:adb devices,输出包含设备序列号(如emulator-5554)和device状态表示连接成功。
    • 连接指定设备:多设备场景下通过adb -s <序列号> 命令操作,如adb -s emulator-5554 install app.apk
    • 启用无线调试:通过adb tcpip 5555切换至无线模式,再用adb connect <设备IP>:5555连接,适合无USB线场景。
  2. 应用安装与卸载

    Android命令行工具有哪些常用命令?-图2
    (图片来源网络,侵删)
    • 安装APK:adb install app.apk,覆盖安装加-r参数(adb install -r app.apk),安装到测试通道加-t
    • 卸载应用:adb uninstall <包名>,保留数据卸载加-kadb uninstall -k <包名>)。
    • 查看已安装应用:adb shell pm list packages,过滤应用名加| findstr "关键字"(Windows)或grep "关键字"(Linux/macOS)。
  3. 日志监控与调试

    • 实时查看日志:adb logcat,按标签过滤如adb logcat *:S(关闭所有日志)或adb logcat ActivityManager:I(显示ActivityManager的INFO级别日志)。
    • 导出日志文件:adb logcat -d > log.txt,保存设备日志到本地;adb logcat -c可清空设备日志缓冲区。
    • 过滤特定应用日志:adb logcat | findstr "包名",实时监控指定应用的日志输出。
  4. 文件与数据管理

    • 推送/拉取文件:adb push <本地路径> <设备路径>(如adb push test.txt /sdcard/),adb pull <设备路径> <本地路径>(如adb pull /sdcard/download/ .)。
    • 查看设备存储:adb shell df -h查看分区使用情况,adb shell ls /sdcard/列出SD卡内容。

(二)系统Shell工具:设备底层操作

通过adb shell进入设备Linux环境后,可执行系统级命令,实现更精细化的操作。

  1. 应用与进程管理

    Android命令行工具有哪些常用命令?-图3
    (图片来源网络,侵删)
    • 强制停止应用:adb shell am force-stop <包名>,立即关闭应用所有进程。
    • 查看运行进程:adb shell ps | findstr "包名",获取应用的进程ID(PID)和CPU占用情况。
    • 清除应用数据:adb shell pm clear <包名>,相当于“清除数据”操作,需谨慎使用。
  2. 系统信息查询

    • 获取设备型号:adb shell getprop ro.product.model
    • 查看Android版本:adb shell getprop ro.build.version.release
    • 检查屏幕分辨率:adb shell wm size,返回物理分辨率(如1920x1080)和当前显示分辨率(若有虚拟屏缩放)。
    • 查看电池状态:adb shell dumpsys battery,输出当前电量(level)、温度(temperature)是否充电(status)等信息。
  3. 网络与性能调试

    • 查看实时网络连接:adb shell netstat -an | grep ESTABLISHED,显示已建立的TCP连接。
    • 模拟网络丢包/延迟:需搭配tc(Traffic Control)命令,如adb shell tc qdisc add dev wlan0 root netem delay 100ms(增加100ms延迟)。
    • 捕获网络包:通过adb shell tcpdump -i any -p -s 0 -w /sdcard/capture.pcap抓包,再拉取到本地用Wireshark分析。

(三)进阶工具:专项场景解决方案

  1. adb shell am(Activity Manager)
    启动应用:adb shell am start -n <包名>/<Activity类名>(如adb shell am start -n com.android.settings/.Settings)。
    强制停止服务:adb shell am stop-service <服务类名>

  2. adb shell dumpsys
    导出系统服务信息:adb shell dumpsys <服务名>,如dumpsys meminfo <包名>查看内存占用,dumpsys cpuinfo查看CPU使用率。

  3. fastboot(刷机工具)
    需设备进入fastboot模式(关机后按音量下+电源键),常用命令:

    • 查看设备:fastboot devices
    • 刷入Recovery:fastboot flash recovery recovery.img
    • 解锁Bootloader:fastboot oem unlock(需厂商授权,可能失去保修)

命令行工具使用场景与最佳实践

场景 推荐命令组合 注意事项
应用崩溃日志分析 adb logcat -d | grep -i "FATAL"`` +adb shell dumpsys stack <包名>` 过滤出致命错误(FATAL)和堆栈信息,定位崩溃原因
性能监控 adb shell top -m 10(查看CPU前10进程) + adb shell dumpsys meminfo <包名> 长时间监控建议用脚本定时采集数据,分析内存泄漏或CPU异常占用
自动化测试 adb shell input tap 500 500(模拟点击) + adb shell input text "hello"(输入文本) 结合adb shell am start启动目标页面,可编写脚本实现UI自动化
批量设备操作 adb devices | grep -v "List" | cut -f1(获取所有设备序列号) + xargs -I {} adb -s {} install app.apk Linux/macOS下用xargs批量执行,Windows需用for循环遍历设备列表
系统备份与恢复 adb backup -f backup.ab -apk -all(备份应用+数据) + adb restore backup.ab 备份文件需妥善保管,恢复前建议先卸载旧版本避免冲突

常见问题与解决方案

  1. adb命令提示“command not found”
    原因:未配置Android SDK环境变量,或adb路径未加入系统PATH。
    解决:下载SDK后,将platform-tools目录路径添加到环境变量(如Linux下~/.bashrc添加export PATH=$PATH:/path/to/sdk/platform-tools),重启终端生效。

  2. 设备连接后显示“unauthorized”
    原因:未在设备上授权USB调试权限(需弹出“允许USB调试”对话框并确认)。
    解决:在设备设置中找到“关于手机”,连续点击“版本号”7次启用开发者选项;返回设置-系统-开发者选项,开启USB调试,重新插拔数据线并授权。

FAQs

Q1: 如何通过命令行查看Android设备的电池健康状态?
A1: 设备本身无直接电池健康命令,但可通过以下方式间接判断:

  1. 使用adb shell dumpsys battery查看当前电量(level)和电压(voltage),电压过低可能意味着电池老化。
  2. 安装第三方应用(如AccuBattery)后,通过adb shell pm list packages | grep accubattery确认安装,再查看该应用生成的健康报告。
  3. 部分厂商(如三星、华为)提供系统命令,如adb shell dumpsys batterystats,分析历史充放电循环次数。

**Q2: 如何用命令行实现Android应用的静默安装(无需用户点击)?
A2: 静默安装需设备root权限或系统签名应用,普通应用无法直接实现,方法如下:

  1. Root设备:通过adb shell pm install -r -g <本地路径>/app.apk-g授予应用所有权限),但需root环境支持。
  2. 系统应用签名:将应用用平台签名(build/target/product/security/platform.pk8)重新打包后安装,此时应用具备系统级权限,可静默安装。
  3. 使用adb install --user:Android 8.0+支持多用户模式,可通过adb install --user 0 app.apk安装到主用户,但仍需用户首次授权USB调试。
分享:
扫描分享到社交APP
上一篇
下一篇