必须先创建并启动x86_64架构、带google apis的模拟器,确保adb识别为device状态,项目配置debuggable true,再通过debug图标启动调试;任一环节失败均会导致debug按钮灰显或提示“no target device”。

要在Windows系统上用Android Studio模拟器调试App,必须先让模拟器能正常启动、设备列表里能识别到它、应用能安装运行、调试端口能连通——四个环节缺一不可,任意一个卡住都会导致Debug按钮灰掉或弹出“no target device”提示。
确认模拟器已创建并能正常启动
打开Android Studio → 点击右上角 AVD Manager 图标(或 Tools → Device Manager)→ 查看列表中是否有状态为 Running 或 Offline 的设备。若全是灰色“Download”或“Create Virtual Device”,说明还没建好可用虚拟机。
点击 Create device → 选 Phone 类别 → 推荐选 Pixel 4 或 Pixel 5(兼容性好、镜像稳定)→ Next → 在 System Image 页面,【必须勾选 x86_64 架构的镜像,且带 “Google APIs” 或 “Google Play” 标签】 → 完成下载后点击 Finish。
回到设备列表,找到刚创建的设备,点击右侧绿色三角形 ▶ 启动。首次启动会慢(1–3分钟),看到 Google 开机动画且进入主屏幕才算成功。如果黑屏/卡在 Android 字样/报错 HAXM not installed,需进 BIOS 开启 Intel VT-x,并手动安装 HAXM(路径:SDK\extras\intel\Hardware_Accelerated_Execution_Manager)。
确保设备在Android Studio中可见且在线
模拟器启动后,等待约10秒,观察 Android Studio 底部状态栏是否出现 Pixel_4_API_34 [running] 类似提示。若没出现,按 Ctrl+Shift+A 打开快捷操作框 → 输入 ADB Restart → 回车执行,强制重连调试桥。
打开终端(Terminal 标签页)→ 输入 adb devices → 回车。正确输出应包含一行类似 emulator-5554 device,其中 device 表示已连接就绪;若显示 offline 或空白,则说明 ADB 服务未识别到模拟器,此时关闭模拟器重开一次,或重启 ADB:adb kill-server && adb start-server。
注意:不要用 Windows 自带的 PowerShell 运行 adb 命令,必须在 Android Studio 内置 Terminal 中执行,否则路径未自动加载 SDK platform-tools。
配置App项目支持调试并部署到模拟器
第一步:确认项目根目录下的 app/build.gradle(Module: app)中,android { buildTypes { debug { ... } } } 区块内存在 debuggable true(新版 Android Studio 默认已写入,无需手动加)。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
第二步:点击工具栏 Run 按钮旁的下拉菜单 → 确保选中的是你的 App 模块(如 app),不是 Gradle 脚本或其他配置。
第三步:点击绿色 ▶ Run 'app' 按钮 → 弹出 Select Deployment Target 对话框 → 左侧选择已启动的模拟器(名称含 emulator-xxx),右侧勾选 Show Device Picker Advanced Options → 确保 Use same selection for future launches 已打钩 → 点击 OK。
这一步会自动编译 APK、签名、通过 ADB 安装到模拟器、启动 MainActivity。若安装失败,检查模拟器存储空间是否满(Settings → Storage → 清理缓存),或尝试在 AVD Manager 中 wipe data 后重启。
开始调试:设断点→启动Debug模式→查看变量
在 Java/Kotlin 代码中,点击行号左侧灰色区域设置断点(出现红点即生效)。
点击工具栏 Debug 图标(虫子形状)→ 选择同一台模拟器 → 等待应用启动并停在第一个断点处。
此时 Debug 窗口自动展开,左侧 Frames 显示调用栈,Variables 面板列出当前作用域所有变量值,Console 显示 Logcat 输出。若 Variables 面板为空或显示 “Not available”,说明断点未命中或代码未执行到该行——检查是否在 release 模式下误点了 Debug,或断点所在方法根本没被调用。
按 F8 单步跳过(Step Over),F7 单步进入(Step Into),Shift+F8 跳出(Step Out)。调试过程中可随时在 Console 输入 adb logcat -s YourTag 查看自定义日志。










