Android 命令行开发是 Android 开发中的一个重要分支,它允许开发者通过命令行工具直接与 Android 系统交互,实现自动化构建、调试、测试等功能,相较于图形化界面开发,命令行开发具有更高的灵活性和效率,尤其适合 CI/CD 流程、批量操作和深度系统调试场景,本文将详细介绍 Android 命令行开发的核心工具、常用命令、实践流程及注意事项。

核心工具与环境准备
Android 命令行开发依赖于 Android SDK 提供的一系列工具,开发者需先完成环境配置,核心工具包括:
- adb(Android Debug Bridge):用于与设备或模拟器通信,如安装应用、查看日志、执行 shell 命令等。
- fastboot:用于设备刷机、解锁 bootloader 等底层操作。
- adb shell:提供 Linux 命令行环境,可直接在设备上执行命令。
- aapt(Android Asset Packaging Tool):用于管理资源文件,如编译资源、查看应用包信息等。
- zipalign:优化 APK 文件,提升应用运行效率。
- apksigner:对 APK 进行签名,确保应用完整性和安全性。
环境配置步骤:
- 下载并安装 Android Studio,通过 SDK Manager 安装 Android SDK Platform-Tools、Build-Tools 及特定版本的 Android SDK。
- 将 SDK 的
platform-tools和build-tools目录添加到系统环境变量 PATH 中,确保命令行可识别。 - 连接 Android 设备或启动模拟器,确保
adb devices能检测到设备(需开启 USB 调试或模拟器调试选项)。
常用命令与操作场景
设备管理与调试
- 列出设备:
adb devices显示已连接设备的状态(device/offline/unauthorized)。 - 安装 APK:
adb install -r app.apk(覆盖安装)、adb install -d app.apk(调试版本安装)。 - 卸载应用:
adb uninstall com.example.app。 - 查看日志:
adb logcat -s "Tag"过滤特定标签日志,adb logcat -c清空日志。 - 执行 Shell 命令:
adb shell "ls /sdcard"在设备上执行 Linux 命令。
应用与资源管理
- 查看应用信息:
adb shell dumpsys package com.example.app显示包名、版本、权限等。 - 提取资源:
aapt dump badging app.apk获取应用的版本号、最小 SDK 版本等。 - 签名 APK:
apksigner sign --ks my-key.jks app-unsigned.apk使用密钥签名 APK。
高级操作
- 文件传输:
adb pull /sdcard/file.txt .将设备文件拉取到本地,adb push local.txt /sdcard/推送本地文件到设备。 - 屏幕录制:
adb shell screenrecord /sdcard/video.mp4录制屏幕,按 Ctrl+C 停止。 - 模拟按键事件:
adb shell input keyevent KEYCODE_HOME模拟按下 Home 键。
实践流程:命令行构建与打包
通过命令行构建 APK 可实现自动化,以下是 Gradle 构建的基本流程:
- 进入项目目录:
cd /path/to/android/project - 构建 Debug 版本:
./gradlew assembleDebug(生成未签名 APK 在app/build/outputs/apk/debug/目录)。 - 构建 Release 版本:
./gradlew assembleRelease,需先配置签名信息(在app/build.gradle中设置signingConfigs)。 - 优化 APK:
zipalign -v 4 app-release-unsigned.apk app-release-aligned.apk对齐 APK 文件。 - 签名 APK:
apksigner sign --ks my-key.jks --out app-signed.apk app-release-aligned.apk。
以下是构建流程的关键步骤对比:

| 步骤 | 命令 | 作用 | 输出文件 |
|---|---|---|---|
| 构建 Debug 版本 | ./gradlew assembleDebug |
编译生成未签名 Debug APK | app-debug.apk |
| 构建 Release 版本 | ./gradlew assembleRelease |
编译生成未签名 Release APK | app-release-unsigned.apk |
| 对齐 APK | zipalign -v 4 input.apk output.apk |
优化 APK 访问效率 | app-release-aligned.apk |
| 签名 APK | apksigner sign --ks key.jks --out signed.apk aligned.apk |
为 APK 添加数字签名 | app-signed.apk |
注意事项与最佳实践
- 权限管理:执行
adb shell命令时需确保设备已 root(部分敏感操作需 root 权限)。 - 路径问题:Windows 系统下需使用反斜杠
\或双斜杠 ,如adb shell "dir /sdcard"。 - 多设备场景:通过
-s指定设备,如adb -s emulator-5554 install app.apk。 - 自动化脚本:结合 Shell 或批处理脚本实现批量操作,如循环安装多个 APK。
- 性能优化:
zipalign必须在签名前执行,否则签名会失效。
相关问答 FAQs
问题 1:如何通过命令行查看 Android 设备的 CPU 和内存使用情况?
解答:可通过 adb shell 结合 Linux 命令实现。
- 查看 CPU 使用率:
adb shell top -m 10 -n 1(显示前 10 个高 CPU 占用进程)。 - 查看内存使用情况:
adb shell dumpsys meminfo com.example.app(查看特定应用的内存占用)。 - 实时监控:
adb shell "while true; do dumpsys cpuinfo; sleep 2; done"(每 2 秒刷新一次 CPU 信息)。
问题 2:命令行构建 APK 时遇到“签名失败”错误,如何解决?
解答:签名失败通常由以下原因导致:
- 密钥文件问题:检查
signingConfigs中配置的密钥路径、密码是否正确,确保my-key.jks文件存在且可读。 - 工具版本不匹配:确保
build-tools版本 ≥ 30.0.0(新版本 APK 签名需支持 APK Signature Scheme v2)。 - 未先执行 zipalign:签名前必须对 APK 进行对齐处理,否则会报错。
- 权限不足:确保对输出目录有写权限,可尝试
chmod +w修改目录权限。
通过以上步骤,可系统掌握 Android 命令行开发的核心技能,提升开发效率和自动化水平。

