章节索引 :

Android Studio 的运行配置

前面的小节我们介绍了代码编辑和资源管理方面的知识,从本小结开始我们学习编译运行相关的知识,首先我们学习下编译运行前的配置。

1. 默认配置

在运行、调试我们的代码时,Android Studio 使用运行/调试配置确定如何执行操作。通常,默认配置已可满足运行或调试应用所需。在我们创建项目时,Android Studio 会根据 Android App 模板 为主 Activity 创建一个默认运行/调试配置。

要打开 Run/Debug Configurations 对话框,请依次选择 Run > Edit Configurations。此时将显示 Run/Debug Configurations 对话框,如下图:

此对话框会在左侧面板中的 Templates 文件夹下方显示默认模板,并在 Templates 文件夹上方显示我们已经定义的配置。

在我们创建项目时 Android Studio 会根据 Android App 模板 为主 Activity 创建一个默认运行/调试配置。我们可以使用基于此模板的配置,在虚拟或硬件设备上运行或调试 Android 应用和 Activity。

2. Android App 模板

Android App 模板有4个标签:General,Miscellaneous,Debugger,Profiling。

2.1 General 标签

在 General 标签中,我们可以指定安装、启动和部署选项。

Module
选择要应用此配置的模块。

Installation Options:Deploy

  • Default APK:为我们当前选择的变体构建和部署 APK。

  • APK from app bundle:从 Android App Bundle 构建和部署应用。也就是说,Android Studio 会先将我们的应用项目转换为 app bundle,其中包含了应用的所有经过编译的代码和资源。然后,Android Studio 仅会从该 app bundle 生成将应用部署到已连接的设备所需的 APK。通常,在测试想要上传到 Google Play 的 app bundle 时应使用此选项,因为从 app bundle 部署应用会延长总构建时间。

  • Custom Artifact:在 Android Studio 中不受支持。

  • Nothing:不在设备上安装 APK。例如,如果我们更愿意手动安装 APK,则无需使用 Android Studio 进行安装。

Installation Options:Deploy as instant app

如果我们的应用支持免安装体验(也就是说,我们在创建新项目时添加了对免安装应用的支持,或者我们创建了一项或多项支持免安装体验的动态功能),则我们可以选择部署这些支持免安装体验的模块,方法是勾选 Deploy as instant app 旁边的复选框。

Installation Options:Dynamic features to deploy

如果我们的应用包含动态功能模块,在部署应用时,请选中要包含的每个动态功能旁边的复选框。只有在应用包含动态功能时,才会看到此选项。

Installation Options:Install Flags

键入我们要使用的任何 adb pm install 选项。设置选项格式的方式与在命令行上相同,但不指定路径。

Launch Options:Launch

  • Nothing:当我们选择 Run 或 Debug 时,不启动任何内容。不过,如果我们的应用已在运行且我们选择了 Debug ,则 Android Studio 会将调试程序连接到我们的应用进程。

  • Default Activity:启动在清单中标记为启动项的 Activity。

  • Specified Activity:启动模块中特定的应用 Activity。选择此选项后,Activity 字段将显示在下方,我们可以在其中输入要启动的 Activity 的名称,也可以点击 More 以从列表中选择一个 Activity。

  • URL:启动与应用清单中的 intent 过滤条件匹配的网址。选择此选项后,URL 字段将显示在下方,我们可以在其中输入网址。

Launch Options:Launch Flags

键入我们要使用的任何 adb am start 选项。设置选项格式的方式与在命令行上相同,但不指定 intent。

Before Launch

定义启动之前的操作。

2.2 Miscellaneous 标签

在 Miscellaneous 标签中,我们可以指定 logcat、安装、启动和部署选项。

Logcat:Show logcat automatically

选中此选项后,每次使用此配置成功部署和启动应用时,系统都会打开 Logcat 窗口。

Logcat:Clear log before launch

如果我们希望 Android Studio 在启动应用之前从日志文件中移除之前会话的数据,请选中此选项。

Installation Options:Skip installation if APK has not changed

选中此选项后,如果 Android Studio 检测到我们的 APK 未更改,将不会重新部署 APK。如果我们希望 Android Studio 即使在 APK 未更改的情况下仍强行安装 APK,则取消选中此选项。

Installation Options:Force stop running application before launching activity

如果选中此选项,则在 Android Studio 检测到 APK 未更改从而无需重新安装 APK 时,它将强行停止应用,以便应用从默认启动器 Activity 启动。如果取消选中此选项,则 Android Studio 不会强行停止应用。

Before Launch

定义启动之前的操作。

2.3 Debugger 标签

我们可以在 Debugger 标签中指定调试选项。

对于 C 和 C++ 代码,Android Studio 会使用 LLDB 调试程序。除了普通的 Android Studio 界面,调试程序窗口还有一个 LLDB 标签,让我们可以在调试过程中输入 LLDB 命令。我们可以输入与 Android Studio 用于在调试程序界面中显示信息的命令相同的命令,还可以执行其他操作。对于 C 和 C++ 项目,我们可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。

Debug type

  • Java:仅调试 Java 代码;

  • Auto:让 Android Studio 为我们的项目选择最合适的调试类型;

  • Native:调试原生 C 或 C++ 代码;

  • Dual:在两个单独的调试会话中调试 Java 和原生代码;

Symbol Directories

如果要添加符号文件来为调试程序提供在 Android Studio 外部生成的 C 或 C++ 代码的信息,我们可以在此处添加一个或多个目录。

LLDB Startup Commands

添加要在调试程序连接到进程之前执行的 LLDB 命令。

LLDB Post Attach Commands

添加要在调试程序连接到进程之后立即执行的 LLDB 命令。

Logging:Target channels

指定 LLDB 日志选项。Android Studio 会根据团队的经验设置默认选项,所以速度不会太慢,但却包含问题排查所需的信息。Android Studio 错误报告经常需要请求日志。

Before Launch

定义启动之前的操作。

2.4 Profiling 标签

如果我们的设备搭载的是 Android 7.1 或更低版本,则必须勾选 Enable advanced profiling 选项才能启用 Android Profiler 中的特定功能。

3. 创建新的配置

Run/Debug Configurations 对话框会显示我们的运行/调试配置和可用的默认模板,我们可以直接根据模板或从其他配置的副本开始定义新配置,我们还可以在 Project 窗口中右键点击某个项,以自动创建该项专用的配置。

3.1 根据模板开始配置

要根据模板定义运行/调试配置,请按以下步骤操作:

  1. 打开 Run/Debug Configurations 对话框;

  2. 点击 Add New Configuration 图标 ;

  3. 选择一个默认模板;

  4. Name 字段中输入一个名称;

  5. 根据需要修改配置;请务必更正在此对话框底部显示的所有错误;

  6. 点击 OK

3.2 使用副本开始配置

要使用其他配置的副本开始定义运行/调试配置,请按以下步骤操作:

  1. 打开 Run/Debug Configurations 对话框;

  2. 在左侧窗格中选择现有的运行/调试配置;

  3. 点击 Copy Configuration 图标 ;

  4. Name 字段中输入一个名称;

  5. 根据需要修改配置;请务必更正在此对话框底部显示的所有错误;

  6. 点击 OK

3.3 为项目中的项定义配置

Android Studio 可以为 Project 窗口中显示的某些项创建运行/调试配置。如需为项目中的某个项创建运行/调试配置,请按以下步骤操作:

  1. AndroidProject 视图中打开一个项目;

  2. Project 窗口中,右键点击某个可测试项,然后选择 Run 文件名Debug 文件名。Android Studio 会创建一个临时的运行/调试配置并启动我们的应用;

  3. 从工具栏的 Select Run/Debug Configuration 下拉列表中选择 Save

4. 使用自定义的配置

如果我们保存了运行/调试配置,则可以在运行或调试应用之前选择该配置。

如需使用保存的运行/调试配置,请按以下步骤操作:

  1. 从工具栏的 Select Run/Debug Configuration 下拉列表中选择我们自定义的配置;
  2. 选择 Run > RunRun > Debug 运行程序。

5. 定义启动之前的操作

我们可以指定要在应用运行/调试配置之前执行的任务。任务会按照其在列表中显示的顺序来执行。

要创建任务列表,请按以下步骤操作:

  1. Run/Debug Configurations 对话框底部的 Before launch 下方,点击 Add 图标 ,然后选择一种任务类型。如果对话框打开,请填充其中的字段并点击 OK

  2. 根据需要添加更多任务。

  3. 要对任务进行排序,请选择一个任务并点击 Up 图标 或 Down 图标 ,以将其在列表中上移或下移。

  4. 如果我们想在应用运行/调试配置设置前显示这些设置,请选择 Show this page

  5. 如果我们希望在运行或调试应用时激活 RunDebug 工具窗口,请选中 Active tool window

可供添加的任务如下:

Run External tool

运行 Android Studio 外部的应用。在 External Tools 对话框中,选择我们要运行的一个或多个应用,然后点击 OK

Run Another Configuration

执行某个现有的运行/调试配置。在 Choose Configuration to Execute 对话框中,选择要执行的配置,然后点击 OK

Make

编译项目或模块。如果运行/调试配置指定了特定的模块,Android Studio 会执行 Make Module 命令;如果未指定任何模块,则会执行 Make Project 命令。

Make Project

编译项目。Android Studio 将执行 Make Project 命令。

Make, no error check

Android Studio 在执行运行/调试配置时不考虑编译结果,除此之外,此选项与 Make 相同。

Run Gradle task

运行 Gradle 任务。在打开的对话框中,指定详情,然后点击 OK

Gradle-aware Make

编译项目并运行 Gradle。

App Engine Gradle builder

App Engine Gradle builder 任务会同步项目,然后构建模块。

6. 小结

本节课程我们主要学习了运行配置相关的知识。本节课程的重点如下:

  • 掌握 Android Studio 默认运行配置;
  • 掌握 如何创建和使用自定义配置。