安卓命令行开发是利用Android SDK中的命令行工具(如adb、sdkmanager、avdmanager等)进行应用调试、设备管理、系统交互等操作的开发方式,相比图形化界面(如Android Studio),命令行开发更轻量、高效,适合自动化测试、批量操作、远程设备管理等场景,以下从核心工具、常用命令、实际应用场景及注意事项等方面展开详细说明。

核心工具与基础环境搭建
安卓命令行开发的核心工具集位于Android SDK的platform-tools
和cmdline-tools
目录中,需先配置环境变量才能全局调用。
-
环境配置:
- 下载Android SDK,通过Android Studio的SDK Manager安装
Android SDK Platform-Tools
和Android SDK Command-line Tools (latest)
。 - 将
platform-tools
和cmdline-tools/latest/bin
目录添加到系统环境变量PATH
中,确保终端可直接执行adb
、sdkmanager
等命令。 - 验证配置:执行
adb version
,若显示版本号则配置成功。
- 下载Android SDK,通过Android Studio的SDK Manager安装
-
关键工具简介:
- adb(Android Debug Bridge):核心调试工具,用于管理设备/模拟器、安装应用、执行shell命令等。
- sdkmanager:管理SDK组件(如平台工具、系统镜像、API版本等)。
- avdmanager:创建和管理Android虚拟设备(AVD,即模拟器)。
- fastboot:用于设备刷机、解锁bootloader等底层操作(需设备进入fastboot模式)。
常用命令与操作示例
设备连接与管理
通过adb
可连接真实设备或AVD模拟器,前提是开启设备的“USB调试模式”(设置→关于手机→连续点击版本号→开发者选项→开启USB调试)。

- 查看连接设备:
adb devices
,输出device
表示已连接授权,unauthorized
需手动在设备上确认授权。 - 启动/停止模拟器:
avdmanager list list
查看已创建的AVD,通过emulator -avd <avd_name>
启动指定模拟器。 - 设备状态监控:
adb get-state
返回device
/offline
/unauthorized
,adb shell dumpsys battery
获取设备电池信息。
应用安装与调试
- 安装APK:
adb install <local_apk_path>
(覆盖安装:adb install -r <apk_path>
;安装到SD卡:adb install -s <apk_path>
)。 - 卸载应用:
adb uninstall <package_name>
(保留数据:adb uninstall -k <package_name>
)。 - 启动/停止应用:
adb shell am start -n <package_name>/<activity_name>
启动应用,adb shell am force-stop <package_name>
强制停止进程。 - 日志查看:
adb logcat
查看系统日志,可通过adb logcat -s <tag_name>
过滤指定标签日志(如adb logcat -s ActivityManager
)。
文件与系统操作
- 文件传输:
adb push <local_file> <remote_path>
(上传文件到设备),adb pull <remote_file> <local_path>
(下载设备文件到本地)。 - Shell命令执行:
adb shell
进入设备Linux环境,执行ls /sdcard
查看SD卡文件,pm list packages
列出已安装应用包名。 - 权限管理:
adb shell pm grant <package_name> <permission>
(授予权限,如adb shell pm grant com.example.app android.permission.CAMERA
)。
高级操作(自动化与批量处理)
- 批量安装:结合
for
循环实现,如for i in $(ls *.apk); do adb install $i; done
(安装当前目录下所有APK)。 - Monkey压力测试:
adb shell monkey -p <package_name> -v 500
(对指定应用执行500次随机操作)。 - 截图与录屏:
adb shell screencap -p /sdcard/screen.png
(截图),adb shell screenrecord /sdcard/video.mp4
(录屏,按Ctrl+C
停止)。
实际应用场景
- 自动化测试:通过编写Shell脚本或Python调用adb命令,实现UI自动化测试(如结合Appium的命令行模式)、性能监控(CPU/内存占用数据采集)。
- 远程设备管理:通过
adb connect <ip_address>:<port>
连接局域网内设备(需设备与电脑在同一网络,且开启“USB调试(安全模式)”),远程调试或批量部署应用。 - ROM定制与刷机:使用
fastboot flash <partition> <image_file>
刷入分区镜像(如fastboot flash boot boot.img
),结合fastboot oem unlock
解锁设备(需厂商授权)。 - 快速日志分析:通过
adb logcat | grep "关键字"
实时过滤关键日志,定位应用崩溃或异常问题。
注意事项
- 权限与安全:adb命令具有较高权限,避免在未授权设备上执行敏感操作(如
adb shell rm -rf /
),防止设备数据丢失。 - 兼容性问题:不同Android版本(如Android 10+的分区存储机制)可能影响文件操作权限,需动态调整命令(如
adb shell run-as <package_name> cat files
访问应用私有目录)。 - 性能优化:频繁执行adb命令可能因设备响应延迟导致操作超时,可通过
adb -s <serial_number>
指定设备,或使用adb shell setprop debug adb.timeout 5000
调整超时时间。
相关问答FAQs
Q1: 如何解决“adb command not found”错误?
A: 该错误通常因Android SDK未正确添加到系统环境变量导致,需检查platform-tools
和cmdline-tools
路径是否已加入PATH
变量,或在终端中直接执行./adb
(进入SDK目录后),确认路径无误后重启终端,若问题仍存在,可尝试重新安装Android SDK Platform-Tools。
Q2: adb连接设备时提示“unauthorized”,如何解决?
A: “unauthorized”表示设备已连接但未授权电脑调试,需在设备弹出的“允许USB调试”对话框中勾选“始终允许”并点击“允许”,或通过“设置→开发者选项→USB调试授权列表”手动添加电脑的RSA密钥指纹,若未弹出对话框,可尝试重新插拔USB线或更换数据线。
