尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Android CLI 完全指南:从入门到精通

Android CLI 完全指南:从入门到精通
📅 发布时间:2026/7/19 22:15:12

1. 引言

在 Android 开发的世界里,图形化的 Android Studio 无疑是强大的主力工具。然而,对于追求效率、自动化构建、持续集成(CI/CD)以及深入理解构建系统的开发者来说,掌握 Android 命令行工具(CLI)是通往更高阶技能的必经之路。

本指南将带你从零开始,全面掌握 Android 开发中不可或缺的命令行工具,包括adb、dumpsys、pm、am、screencap、logcat等,并深入讲解如何利用 Gradle 和 SDK Manager 在无图形界面的环境下完成完整的开发与调试流程。

2. 环境准备:搭建你的 Android CLI 工具箱

在开始之前,你需要确保电脑上安装了必要的命令行工具。

2.1 安装 Android SDK 命令行工具

  1. 下载命令行工具:访问 Android 开发者官网,下载适用于你操作系统的“命令行工具”。

  2. 解压并配置:将下载的commandlinetools-*压缩包解压到一个目录,例如~/Android/cmdline-tools。

  3. 使用sdkmanager:通过sdkmanager安装所需的 SDK 组件。

    # 查看可用包./sdkmanager--list# 安装指定版本的平台工具和构建工具./sdkmanager"platform-tools""platforms;android-34""build-tools;34.0.0"# 安装 NDK(用于原生开发)./sdkmanager"ndk;25.2.9519653"

2.2 配置环境变量

为了方便在任何路径下使用这些工具,需要将它们添加到系统的PATH环境变量中。

# 编辑你的 shell 配置文件(如 ~/.bashrc, ~/.zshrc)exportANDROID_HOME=$HOME/AndroidexportPATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/binexportPATH=$PATH:$ANDROID_HOME/platform-toolsexportPATH=$PATH:$ANDROID_HOME/emulator# 使配置生效source~/.zshrc

3. 核心工具详解:adb(Android Debug Bridge)

adb是 Android CLI 的灵魂,它充当着电脑与 Android 设备(真机或模拟器)之间的通用调试桥梁。

3.1 设备连接与管理

# 查看已连接的设备列表adb devices# 连接一个设备(通过 TCP/IP,常用于无线调试)adb connect192.168.1.100:5555# 断开指定设备adb disconnect192.168.1.100:5555# 在有多个设备时,指定操作某个设备adb-semulator-5554 shell

3.2 安装与卸载应用

# 安装 APKadbinstallapp-debug.apk# 安装并保留数据和缓存(用于覆盖安装测试)adbinstall-rapp-debug.apk# 卸载应用(需要指定包名)adb uninstall com.example.myapp# 卸载但保留数据和缓存目录adb uninstall-kcom.example.myapp

3.3 文件传输

# 从电脑推送文件到设备adb push local_file.txt /sdcard/Download/# 从设备拉取文件到电脑adb pull /sdcard/Download/remote_file.txt.# 拉取整个目录adb pull /sdcard/Download/ ./local_download/

3.4 进入 Shell 环境

adb shell是通往 Android 系统内部的钥匙,可以执行 Linux 命令。

# 进入交互式 Shelladb shell# 直接执行单条命令adb shellls/sdcard/ adb shell dumpsys battery

4. 系统信息与调试:dumpsys & dumpsys

dumpsys是 Android 系统服务的诊断工具,可以获取几乎所有系统状态信息。

4.1 常用 dumpsys 命令

# 获取电池状态adb shell dumpsys battery# 获取当前 Activity 栈信息(了解哪个 Activity 在前台)adb shell dumpsys activity activities|grepmResumedActivity# 获取网络连接信息adb shell dumpsys connectivity# 获取窗口信息(分辨率、密度等)adb shell dumpsys window displays# 获取所有正在运行的服务列表adb shell dumpsys-l

4.2 使用 dumpsys 进行性能分析

# 获取 CPU 使用信息adb shell dumpsys cpuinfo# 获取内存使用信息(按进程)adb shell dumpsys meminfo# 获取指定应用的内存信息adb shell dumpsys meminfo com.example.myapp# 获取 GPU 渲染性能adb shell dumpsys gfxinfo com.example.myapp

5. 应用管理:pm(Package Manager)

pm命令用于管理设备上的应用包。

# 列出所有已安装的应用包adb shell pm list packages# 列出包含特定关键词的应用adb shell pm list packages|grepgoogle# 列出第三方应用adb shell pm list packages-3# 查看应用的详细信息(安装路径、权限等)adb shell pm dump com.example.myapp# 清除应用数据adb shell pmclearcom.example.myapp# 禁用/启用应用adb shell pm disable-user--user0com.example.myapp adb shell pmenablecom.example.myapp

6. 模拟用户操作:am(Activity Manager)

am命令可以模拟启动 Activity、发送广播、启动服务等操作。

# 启动一个 Activity(通过 Intent)adb shell am start-ncom.example.myapp/.MainActivity# 启动 Activity 并传递数据adb shell am start-ncom.example.myapp/.DetailActivity--es"key""value"# 发送一个广播adb shell am broadcast-aandroid.intent.action.BOOT_COMPLETED# 启动一个服务adb shell am startservice-ncom.example.myapp/.MyService# 强制停止一个应用adb shell am force-stop com.example.myapp

7. 屏幕与输入操作

7.1 截屏与录屏

# 截屏并保存到电脑adb shell screencap /sdcard/screenshot.png adb pull /sdcard/screenshot.png.# 录屏(默认 180 秒,4Mbps)adb shell screenrecord /sdcard/demo.mp4# 录屏并指定参数adb shell screenrecord--size720x1280 --bit-rate 2M --time-limit30/sdcard/demo.mp4

7.2 模拟输入

# 模拟点击(x, y 坐标)adb shell input tap5001000# 模拟滑动adb shell input swipe5001000500500# 模拟输入文本adb shell input text"Hello World"# 模拟按键(如返回键、Home 键)adb shell input keyevent KEYCODE_BACK adb shell input keyevent KEYCODE_HOME adb shell input keyevent KEYCODE_MENU

8. 日志查看:logcat

logcat是 Android 日志系统的核心工具,用于查看应用和系统的运行日志。

8.1 基本用法

# 实时查看所有日志adb logcat# 清空之前的日志adb logcat-c# 将日志输出到文件adb logcat-d>app_log.txt

8.2 过滤日志

# 按日志级别过滤(V, D, I, W, E, F, S)adb logcat *:E# 按标签过滤adb logcat-sMyAppTag# 组合过滤:只显示 MyAppTag 的 Error 级别日志adb logcat-sMyAppTag:E# 使用 grep 进行更灵活的过滤adb logcat|grep-i"error"adb logcat|grep"com.example.myapp"

8.3 格式化输出

# 显示详细的时间、PID、TID 等信息adb logcat-vlong# 显示线程时间adb logcat-vthreadtime# 显示彩色输出(便于区分不同级别)adb logcat-vcolor

9. 无线调试(ADB over Wi-Fi)

摆脱数据线的束缚,让调试更加自由。

# 1. 先用 USB 连接设备# 2. 让设备在 5555 端口监听 TCP/IP 连接adb tcpip5555# 3. 断开 USB 线# 4. 通过 IP 地址连接设备adb connect192.168.1.100:5555# 5. 现在可以无线使用 adb 了adb devices adb shell# 6. 断开无线连接adb disconnect192.168.1.100:5555

10. 自动化构建:Gradle Wrapper

在 CI/CD 环境中,通常使用 Gradle Wrapper(gradlew)来执行构建任务。

# 查看项目中的 Gradle 任务./gradlew tasks# 构建 Debug APK./gradlew assembleDebug# 构建 Release APK./gradlew assembleRelease# 运行所有测试./gradlewtest# 运行指定模块的测试./gradlew :app:testDebugUnitTest# 清理构建产物./gradlew clean# 构建并安装 Debug APK 到连接的设备./gradlew installDebug

11. 实战案例:自动化测试脚本

结合以上命令,可以编写一个简单的自动化测试脚本。

#!/bin/bash# auto_test.shPACKAGE_NAME="com.example.myapp"APK_PATH="./app/build/outputs/apk/debug/app-debug.apk"echo"=== 开始自动化测试 ==="# 1. 安装应用echo"1. 安装应用..."adbinstall-r$APK_PATH# 2. 启动应用echo"2. 启动应用..."adb shell am start-n$PACKAGE_NAME/.MainActivity# 3. 等待 3 秒sleep3# 4. 模拟用户操作echo"3. 模拟点击..."adb shell input tap300500sleep1# 5. 截屏echo"4. 截屏..."adb shell screencap /sdcard/test_screenshot.png adb pull /sdcard/test_screenshot.png.# 6. 获取日志echo"5. 获取日志..."adb logcat-d-sMyAppTag>test_log.txt# 7. 卸载应用echo"6. 卸载应用..."adb uninstall$PACKAGE_NAMEecho"=== 测试完成 ==="

12. 总结与进阶学习

通过本指南,你已经掌握了 Android CLI 的核心工具和常用命令。这些技能不仅能提升你的日常开发效率,更是构建自动化工作流、进行深度性能分析和系统级调试的基石。

进阶学习方向:

  • 深入 Gradle:学习编写自定义 Gradle Task,实现更复杂的构建逻辑。
  • Monkey 测试:使用adb shell monkey进行压力测试和随机测试。
  • Systrace / Perfetto:学习使用更高级的性能分析工具进行 UI 和 CPU 分析。
  • 编写 Shell 脚本:将常用的 CLI 操作组合成脚本,打造自己的自动化工具链。

现在,打开你的终端,开始探索 Android CLI 的强大世界吧!

相关新闻

  • JavaScript事件监听详解|从点击修改文字到随机背景色(新手实战教程)
  • 2026年泉州清源山十大山居住宿优选榜单:深度评测与避坑指南 - 热点速览
  • 广州工业设备服务GEO城市合伙人选型推荐哪家靠谱:源头技术、分润模式与合伙人权益一次看清 - 子柔传媒

最新新闻

  • Sub2API:开源AI API网关统一管理多平台服务
  • VC++图像处理实践指南:从环境搭建到OpenCV算法实现
  • UI-TARS桌面应用:视觉语言模型驱动的智能GUI代理配置指南
  • RPG Maker解密工具:免费快速提取加密游戏资源的完整指南
  • 亨得利官方服务项目及价格查询|服务电话及地址权威信息公告(2026年7月最新) - 亨得利官方博客
  • 真力时官方售后服务中心电话和详细维修地址实地考察报告_多信源验证(2026年7月更新) - 亨得利官方服务中心

日新闻

  • 百达翡丽官方服务项目及价格查询|维修地址与电话权威信息通告(2026年7月最新) - 百达翡丽服务中心
  • 2026年药食同源冲泡饮品哪家好:衡身堂三伏天内调外养 - 晚香时候
  • 芝柏官方更换原装表带价格查询|详细地址与24小时客服电话权威信息公告(2026年7月最新) - 亨得利官方服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号