首页 / Android 入门教程 / 运行与调试应用

Android 入门教程

运行与调试应用

本教程共 100 篇 · 第 8 篇 · 更新于 2026-07-28 · 约 8 分钟阅读

AndroidAndroid 入门教程AVD模拟器真机调试Logcat断点调试

8. 运行与调试应用

本节目标:学会创建模拟器、连真机、看日志、打断点调试,让应用能在设备上跑起来,出问题能查到原因。

运行应用的方式

Android 应用跑在哪?三种选择:

  1. AVD 模拟器:电脑上虚拟一台 Android 设备,不用真机。
  2. 真机(USB / Wi-Fi):连自己的手机调试,最贴近真实环境。
  3. 云设备:Firebase Test Lab 之类,跑自动化测试用,本节不展开。

日常开发模拟器 + 真机配合用:模拟器方便快速验证,真机验证实际体验。

一、创建 AVD 模拟器

第 1 步:打开 Device Manager

Toolbar 点手机图标,或菜单 Tools -> Device Manager。右侧弹出面板,点 +(或 “Create Device”)。

第 2 步:选硬件

Select Hardware 页面选设备型号。常用:

  • Pixel 7 / Pixel 8:主流手机尺寸,适合测手机应用。
  • Pixel Tablet:测大屏。
  • 选分辨率和密度合理的,别选太大屏的,模拟器吃显存。

点 Next。

第 3 步:选系统镜像

System Image 页面选 Android 版本。推荐:

  • API 36(Android 16):跟教程基准一致。
  • x86_64 架构(比 arm 快很多)。
  • 想测 Google Play 功能选 Google Play 镜像,否则 Google APIs 就够。

没下载过的镜像旁边有下载图标,点一下下载(几百 MB),下完后选中,Next。

第 4 步:配置 AVD

Verify Configuration 页面:

  • AVD Name:起个好记的名字,比如 Pixel7_API36
  • Startup orientation:Portrait(竖屏)或 Landscape(横屏)。
  • Advanced Settings:可以调 RAM(建议 2048MB 起)、内部存储、SD 卡等。

点 Finish 完成。

第 5 步:启动模拟器

Device Manager 里点 AVD 旁边的三角形启动。第一次启动慢一点,之后会快。启动成功后模拟器窗口出现,就能用了。

Tip

模拟器卡死或异常时,长按启动按钮选 Cold Boot Now 冷启动,或 Wipe Data 清数据重置。

二、连接真机调试

真机调试比模拟器更真实,强烈建议至少准备一台真机。

开启开发者选项

  1. 手机 设置 -> 关于手机
  2. 连续点 7 次 版本号(或 “软件版本信息”),提示「您已处于开发者模式」。
  3. 返回设置,找到 开发者选项(有的系统藏在「系统」->「开发者选项」)。

开启 USB 调试

  1. 开发者选项里打开 USB 调试
  2. 用数据线连电脑(注意数据线要能传数据,不是纯充电线)。
  3. 手机弹「允许 USB 调试吗?」点允许,勾选「一律允许」。

验证连接

命令行敲:

adb devices

输出类似这样就连上了:

List of devices attached
1234567890abcdef    device

Android Studio 顶部设备下拉框里也能看到你的手机型号。

Warning

连不上常见原因:数据线只能充电(换线)、没装驱动(Windows 上某些品牌要装 OEM USB 驱动)、USB 模式不对(手机通知栏切到「文件传输 MTP」)。adb kill-server 然后重连有时能解决玄学问题。

无线调试(Android 11+)

Android 11 起支持无线调试,不用数据线:

  1. 开发者选项 -> 无线调试 打开。
  2. 点「使用配对码配对设备」,记下 IP、端口和配对码。
  3. 电脑命令行:
    adb pair 192.168.1.100:42351
    # 输入配对码
    adb connect 192.168.1.100:5555
  4. Android Studio 设备列表里就能看到。

三、运行应用

顶部工具栏:

  1. 选模块(默认 app)。
  2. 选设备(模拟器或真机)。
  3. 点绿色三角 RunShift+F10)。

Android Studio 编译、打包、安装、启动应用,设备屏幕上出现你的应用界面就成功了。

四、用 Logcat 看日志

应用跑起来后,底部 Logcat 面板是看日志的核心。

打日志

Kotlin 里用 android.util.Log

import android.util.Log

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("MainActivity", "onCreate 被调用了")
        Log.i("Network", "开始请求接口")
        Log.w("Cache", "缓存已过期")
        Log.e("MainActivity", "发生错误:${someException.message}", someException)
    }
}

日志分级别:

方法级别用途
Log.vVerbose啰嗦细节,一般不开
Log.dDebug调试信息,最常用
Log.iInfo重要事件(启动、登录成功)
Log.wWarn警告,不致命
Log.eError错误,带异常堆栈

筛选日志

Logcat 默认输出所有应用和系统的日志,会刷屏。几种过滤方式:

  • 顶栏选设备 + 进程:只看当前应用进程。
  • 日志级别下拉:选 Info 只看 Info 以上。
  • 搜索框
    • tag:MainActivity 按 tag 过滤。
    • package:mine 只看自己应用。
    • level:error 只看错误。
    • 组合:tag:MainActivity & level:debug
Tip

应用崩溃时,Logcat 里搜 FATAL EXCEPTION 或看红色 Error 行,能直接定位到崩溃堆栈和代码行。

五、断点调试

光看日志不够,要一步步看变量变化就得上断点调试。

打断点

编辑器里点行号左边的灰色区域,出现红点就是断点。程序运行到这行会暂停。

调试运行

不用 Run,改用 Debug 按钮(虫子图标,Shift+F9)。程序启动后到断点处暂停,底部出现 Debug 面板。

Debug 面板

  • Frames:当前调用栈,能看到执行到哪个方法、上层调用是谁。
  • Variables:当前作用域所有变量的值,可以展开看对象内部。
  • Watches:手动添加要监视的表达式。

控制按钮:

  • Step OverF8):执行当前行,不进入方法内部。
  • Step IntoF7):进入方法内部(自己写的方法)。
  • Force Step IntoAlt+Shift+F7):进入任何方法(包括系统库)。
  • Step OutShift+F8):跳出当前方法,回到调用处。
  • ResumeF9):继续运行到下一个断点。
Note

调试时变量值直接显示在代码行右边(内联调试),不用专门看 Variables 面板也能看个大概。

条件断点

右键断点红点,能设条件。比如循环里只想在 i == 50 时停,写 i == 50,其他时候自动跳过。调试循环神器。

计算表达式

暂停时点 Evaluate Expression(计算器图标),能临时跑一段代码看结果,比如:

list.size
someObject.calculateSomething()

不影响程序状态,调试时验证想法很方便。

六、常见运行问题

应用装不上:INSTALL_FAILED

可能原因:包名冲突(设备上已装同包名应用,签名不同)、存储空间不足、targetSdk 不满足 Google Play 要求。看 Logcat 报错具体信息。

闪退但没看到日志

确认 Logcat 选对了设备和进程。崩溃后进程没了,日志可能在「No Filters」下能看到。搜 AndroidRuntime

模拟器特别卡

  • 关掉其他占内存的程序。
  • 模拟器 RAM 调到 2-4GB。
  • 用 x86_64 镜像不要用 arm。
  • 开启硬件加速(WHPX / HAXM)。
  • 实在不行用真机。

Run 按钮灰着

代码有编译错误,修掉红色报错再 Run。或者 Build -> Make Project 看具体错误。

小结

跑应用三种方式:AVD 模拟器(Device Manager 创建)、真机(开 USB 调试)、无线调试。看日志用 Logcat,按 tag/级别过滤。调试用断点 + Debug 按钮,配合 Step Over/Into 和条件断点。到这里第 1 部分环境搭建结束,下一部分开始学 Kotlin 语言基础。