目录
- 1. 启动调试功能
- 1.1 配置设备上的开发者选项
- 1.2 运行可调试的 build 变体
- 2 开始调试
- 2.1 设置断点
- 2.2 选择设备
- 2.3 在工具栏中点击Debug图标
- 2.4 打开Debug窗口
- 2.5 将调试程序连接到正在运行的应用上
1. 启动调试功能
准备工作
在安卓开发的时候,开始调试前要做好以下准备工作,才能进行调试应用:
- 在设备上启用调试功能
- 运行可调试的 build 变体
启用调试功能
如果您使用的是模拟器,则默认情况下会启用此功能。但是,对于已连接的真机设备,您需要在设备开发者选项中启用调试功能。
1.1 配置设备上的开发者选项
如果是第一次进行真机调试,请在真机中找到“关于手机”连续点击 版本号,即可开启“开发人员选项”。
Android
上的“设置”应用包含一个名为开发者选项的屏幕,您可以使用该屏幕配置一些系统行为来帮助您分析和调试应用性能。例如,您可以启用 USB
调试、捕获 bug
报告、启用点按的视觉反馈、在窗口 surface
更新时刷写 surface
、使用 GPU
渲染 2D
图形,等等。
1.2 运行可调试的 build 变体
您使用的 build 变体必须在 build 配置中包含 debuggable true。通常,您只需选择每个 Android Studio 项目中都包含的默认“debug”变体(即使它在 build.gradle 文件中不可见)。但是,如果您想将新 build 类型定义为可调试,则必须将“debuggable true”添加到该 build 类型中:
Croovy
语言
android {
buildTypes {
customDebugType {
debuggable true
...
}
}
}
Koltin
语言
android {
buildTypes {
create("customDebugType") {
debuggable = true
...
}
}
}
如果您的应用依赖于您也想调试的某个库模块,则该库也必须使用 debuggable true 进行打包,以便保留其调试符号。为了确保应用项目的可调试变体接收库模块的可调试变体,请务必发布库的非默认版本
2 开始调试
2.1 设置断点
在应用代码中设置一些断点
2.2 选择设备
在工具栏中,从目标设备下拉菜单中选择用于调试应用的设备
如上进行调试一个功能代码,可以在其位置进行打断点;如果未设置任何设备,可以用USB连接设备,或者创建AVD使用android自带的模拟器来进行调试;
2.3 在工具栏中点击Debug图标
如果您看到一个对话框询问您是否要“switch from Run to Debug”,这表示您的应用已在设备上运行,并且它将重启以便开始调试。如果您希望让同一应用实例保持运行状态,请点击 Cancel Debug,然后将调试程序连接到正在运行的应用。
否则,Android Studio 会构建一个 APK,使用调试密钥为其签名,将其安装在您选择的设备上,然后运行它。如果您向项目添加 C 和 C++ 代码,Android Studio 还会在 Debug 窗口中运行 LLDB 调试程序来调试您的原生代码。
2.4 打开Debug窗口
如果 Debug 窗口未打开,请依次选择 View > Tool Windows > Debug(或点击工具窗口栏中的 Debug 图标 ),然后点击 Debugger 标签页;
2.5 将调试程序连接到正在运行的应用上
如果您的应用已在设备上运行,则无需重启应用即可开始调试,具体操作步骤如下:
- 点击 Attach debugger to Android process 图标
- 在 Choose Process 对话框中,选择您想将调试程序连接至其上的进程;
从 Use Android Debugger Settings from 下拉菜单中,您可以选择现有的运行/调试配置。(对于 C 和 C++ 代码,您可以重复使用现有配置中的 LLDB 启动命令、LLDB 连接后命令和符号目录。)如果您没有现有的运行/调试配置,请选择 Create New。此选项会启用 Debug Type 下拉菜单,您可以在其中选择其他调试类型。默认情况下,Android Studio 会使用 Auto 调试类型来选择最适合您的调试程序选项,具体取决于您的项目是包含 Java 代码还是 C/C++ 代码。- 点击 OK
此时将显示 Debug 窗口