用 Android Studio 自带的模拟 Android Emulator 调试

一、用 Android 模拟器当"虚拟手机"

1. 打开 Device Manager

在 Android Studio 里:

  1. 顶部菜单点:Tools → Device Manager
  2. 右侧会出现一个面板(Device Manager),里面是虚拟设备列表(刚装好一般是空的)。

如果你看不到 Tools → Device Manager,先确认 Android Studio 已经完全启动到主界面,并且已经打开了一个工程。


2. 新建一个虚拟手机(AVD)

在 Device Manager 里:

  1. 点击 + Create Device(新建设备)
  2. 在弹出的窗口中:
    • 左侧选 Phone
    • 选一个常见型号,比如 Pixel 7 / Pixel 6 / Pixel 4 都可以
    • Next
  3. 选择系统镜像(System Image):
    • 建议选一个比较新的,比如:
      • UpsideDownCake (Android 14)
      • Tiramisu (Android 13)
    • CPU/ABI 尽量选 x86_64(在 PC 上跑会比 ARM 镜像快很多)
    • 如果右边有个小云朵图标,说明要先下载:
      • 点它或点 Download,等待下载完成
    • 下载好后选中这条镜像,点 Next
  4. 最后一步是配置 AVD 名字,默认就行,点 Finish

搞定后,你会在 Device Manager 里看到一个虚拟设备,比如:
Pixel 7 API 34 之类的。


3. 启动模拟器

在 Device Manager 里:

  1. 找到刚刚创建的虚拟设备右侧,有一个绿色的"播放"按钮 ▶
  2. 点击 ▶
  3. 过一会儿会弹出一个手机窗口,就像真机一样会有开机动画、桌面等等。

这个就是你的"虚拟手机"。


二、在模拟器上运行新建的 App

  1. 确保你的工程已经打开(就是之前新建的那个 app,比如 MyFirstApp
  2. 看 Android Studio 顶部工具栏中间,有一个设备选择下拉框:
    • 里面应该能看到你刚刚启动的模拟器,比如:Pixel 7 API 34
    • 如果它没自动选中,自己点一下把它选上
  3. 右边点击绿色的 ▶ Run 按钮(或者菜单栏 RunRun 'app'

Android Studio 会:

  • 编译 app
  • 把它安装到模拟器里
  • 自动在模拟器里启动这个 app

几秒钟后,你在虚拟手机的屏幕上就能看到你的应用界面了(默认是 Hello World 或空白界面)。


三、后面调试就跟真机一样了

你可以像真机一样:

  • 点按钮、输入文字、切换横竖屏;
  • 在 Android Studio 里:
    • Logcat 输出日志;
    • 打断点(点击代码左侧行号)→ 用 Debug ▶ 方式运行,查看变量、单步调试。

对 Android Studio 来说,模拟器 = 一台连接着的手机,所以调试流程是一模一样的。

四、可能遇见问题

Android Studio 模拟器报错 The emulator process for AVD xxxxx has terminated.

相关推荐
沉静的小伙1 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途1 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
醇氧1 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
love530love1 小时前
用自然语言让 AI Agent 卸载软件 —— 以卸载 Visual Studio 2026 为例
ide·人工智能·windows·agent·visual studio·ai agent·marvis
2601_963771371 小时前
Offloading WP-Cron and Securing Ticket Webhooks on Enterprise IT Sites
android
栈溢出了1 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea
会周易的程序员1 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
zhixingheyi_tian2 小时前
一份GC日志的解读
java·开发语言
ywl4708120872 小时前
ArrayList和LinkedList内部的实现原理和区别
java·java基础
沉静的小伙2 小时前
Spring事务
java·数据库·spring