创建和编辑运行/调试配置

在运行、调试或测试代码时,Android Studio 使用运行/调试配置确定如何执行此操作。通常,默认配置足以满足要求,您只需运行或调试应用即可。但是,您可以修改和创建新配置,还可以修改默认模板,以满足开发流程要求。

关于运行/调试配置

运行/调试配置指定应用安装、启动和测试选项等详情。您可以将配置定义为一次性使用,也可以保存配置,以备日后使用。保存配置后,您可以从工具栏中的 Select Run/Debug Configuration 下拉列表选择配置。Android Studio 会将配置保存为项目的一部分。

默认的运行/调试配置

在您首次创建一个项目时,Android Studio 会根据 Android App 模板,为主 Activity 创建一个默认的运行/调试配置。要运行或调试项目,您必须始终定义至少一个运行/调试配置。因此,我们建议您不要删除此配置。

项目范围和版本控制

运行/调试配置和模板更改仅应用于当前项目。如果您选择共享某个运行/调试配置,然后将项目签入版本控制系统,则会与任何签出此项目的用户共享此配置。您不能共享模板。

打开“Run/Debug Configurations”对话框

“Run/Debug Configurations”对话框显示运行/调试配置和可用的默认模板。在此对话框中,您可以:

要打开此对话框,请执行以下操作之一:

  • 选择 Run > Edit Configurations
  • 工具栏中的 Select Run/Debug Configuration 下拉列表中选择 Edit Configurations
    此下拉列表位于 RunCreate run/debug configurations - 图1Debug 的左侧 Create run/debug configurations - 图2 ;例如 Create run/debug configurations - 图3

如果当前未显示工具栏,请选择 View > Toolbar 以显示工具栏。

此时将显示 Run/Debug Configurations 对话框,如图 1 所示。

Create run/debug configurations - 图4

图 1. Run/Debug Configurations 对话框。

此对话框的左侧面板将显示 Defaults 文件夹中的默认模板。它会按照模板类型对定义的配置进行分组。您可以调整对话框大小以查看任何隐藏的项。

创建新的运行/调试配置

您可以通过 Run/Debug Configurations 对话框、Project 窗口或代码编辑器定义新的运行/调试配置。新配置必须基于默认模板

Run/Debug Configurations 对话框中,您可以直接通过模板或通过其他配置的副本开始定义新配置。然后,您可以根据需要更改字段值。

或者,您可以在 Project 窗口中右键点击某个项,以自动创建特定于此项的配置。例如,如果您要运行特定的 Activity,则可以右键点击此 Activity Java 文件,然后选择 Run。Android Studio 会使用 Android AppAndroid TestsJUnit 默认模板创建配置,这取决于具体的项。

在代码编辑器中,您可以轻松为某个类或方法创建测试和运行/调试配置,然后执行此配置。

如果您不是使用 Run/Debug Configurations 对话框创建配置,则此配置在保存之前只是临时配置。默认情况下,项目中最多可以包含五个临时配置,否则,Android Studio 将开始移除多余的配置。要更改此默认值,请在 Run/Debug Configurations 对话框中点击 Defaults 文件夹,然后在 Temporary Configurations Limit 字段中键入一个值。如需了解有关临时配置的详细信息,请参阅创建和保存临时运行/调试配置

您可以通过版本控制系统共享运行/调试配置(而非模板)。如果您在运行/调试配置中选择 Shared,然后将项目签入版本控制系统,则签出项目的任何用户将收到此配置。

根据模板开始定义配置

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

通过副本开始定义配置

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

  • 打开“Run/Debug Configurations”对话框
  • 在左侧窗格中选择现有的运行/调试配置。
  • 点击 Copy ConfigurationCreate run/debug configurations - 图6
  • Name 字段中键入名称。
  • 根据需要修改配置。
    务必纠正此对话框底部显示的任何错误。

  • 点击 ApplyOK

为项目中的项定义配置

Android Studio 可以为 Project 窗口中显示的某些项自动创建运行/调试配置。此配置基于默认模板:

:对于 build.gradlesettings.gradle 文件,Android Studio 使用 Groovy 模板。而对于 build.gradle 文件,则应使用 Gradle Console 运行或调试。

要为项目中的某个项创建运行/调试配置,请按以下步骤操作:

  • Android 或 Project 视图中打开一个项目。
  • Project 窗口中,右键点击某个项,然后选择 RunDebug
    Android Studio 会创建一个临时的运行/调试配置并启动应用。

  • 要保存配置,请从工具栏中的 Select Run/Debug Configuration 下拉列表中选择 Save
    此下拉列表位于 RunCreate run/debug configurations - 图7Debug 的左侧 Create run/debug configurations - 图8 ;例如 Create run/debug configurations - 图9

或者,再次右键点击此项并选择 Save

或者,在 Run/Debug Configurations 对话框中选择配置并点击左上角的 Save ConfigurationCreate run/debug configurations - 图10

如果您右键点击后重新运行或调试该项,Android Studio 会创建新配置,Activity 除外。

为类或方法定义测试配置

在 Android Studio 中,您可以为某个类或方法定义测试运行配置,然后执行此配置。例如,如果您创建一个新类,则可以为其创建和运行测试。如果测试通过,则您可以对项目的其余类运行测试,以确保新代码未在其他地方出现问题。

Android Studio 会使用 Android TestsJUnit 模板,具体取决于您的源集对于本地单元测试,您可以选择使用代码覆盖范围选项运行。

要为 Java 代码中的某个类或方法创建运行/调试配置,请按以下步骤操作:

  • Android 或 Project 视图中打开一个项目。
  • 在代码编辑器中打开一个 Java 文件。
  • 选择代码中的某个类或方法,然后按 Ctrl+Shift+T (⌘⇧T)。
  • 在出现的菜单中选择 Create New Test
  • Create Test 对话框中,可以选择更改字段值,然后点击 OK
  • Choose Destination Directory 对话框中,选择 androidTest 创建工具测试,或选择 test 创建本地单元测试。点击 OK
    新测试出现在 Project 窗口中对应的测试源集内。

  • 要运行测试,请执行以下操作之一:

  • Project 窗口中,右键点击测试,然后选择 RunDebug
  • 在代码编辑器中,右键点击测试文件中的某个类定义,然后选择 RunDebug,测试此类中的所有方法。
  • 在代码编辑器中,右键点击测试文件中的某个方法名称,然后选择 RunDebug,仅测试此方法。
  • 在代码编辑器中,点击 Create run/debug configurations - 图11 某个类或方法旁边的左边缘的“Play”,然后选择 RunDebug
  • 要保存配置,请从工具栏中的 Select Run/Debug Configuration 下拉列表中选择 Save
    此下拉列表位于 RunCreate run/debug configurations - 图12Debug 的左侧 Create run/debug configurations - 图13 ;例如 Create run/debug configurations - 图14

或者,再次右键点击此项并选择 Save

或者,在 Run/Debug Configurations 对话框中选择配置并点击左上角的 Save ConfigurationCreate run/debug configurations - 图15

使用保存的配置运行或调试应用

如果您已保存一个运行/调试配置,则可以选择此配置,然后运行或调试应用。

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

  • 工具栏中的 Select Run/Debug Configuration 下拉列表选择此运行/调试配置。
    此下拉列表位于 RunCreate run/debug configurations - 图16Debug 的左侧 Create run/debug configurations - 图17 ;例如 Create run/debug configurations - 图18

  • 选择 Run > RunRun > Debug
    或者,点击 RunCreate run/debug configurations - 图19DebugCreate run/debug configurations - 图20

:在 Instant Run 会话期间,选择其他运行/调试配置,然后再次点击 RunCreate run/debug configurations - 图21DebugCreate run/debug configurations - 图22 可以结束当前会话。

编辑运行/调试配置

要编辑运行/调试配置,请按以下步骤操作:

编辑默认的运行/调试配置模板

您可以编辑 Android Studio 提供的默认模板,以满足开发流程要求。编辑某个模板不会影响使用此模板的现有配置。因此,例如,如果您需要创建某一类型的多个配置,您可以编辑模板,然后在完成操作后还原模板。

尽管您无法创建新模板,但您可以创建与模板用途类似的配置。您可以复制配置和编辑此副本,以创建新配置。

要编辑模板,请按以下步骤操作:

对配置进行排序和分组

Run/Debug Configurations 对话框中,您可以对配置进行排序,以便快速查找配置。您可以按字母顺序对文件夹中的项排序,并创建新的文件夹以对配置进行分组。

要按字母顺序对配置排序,请按以下步骤操作:

  • 打开“Run/Debug Configurations”对话框
  • 选择包含配置的文件夹。
  • 点击 Sort ConfigurationsCreate run/debug configurations - 图23
  • 点击 ApplyOK
    要对文件夹中的配置进行分组,请按以下步骤操作:

  • 打开“Run/Debug Configurations”对话框

  • 选择包含配置的文件夹。
  • 点击 Create New FolderCreate run/debug configurations - 图24
  • Name 字段中键入名称。
  • 将相同模板类别中的项拖到此文件夹中。
  • 对同一模板类别中的文件夹和配置进行排序的方法是:将其拖到适当位置或使用 Move UpCreate run/debug configurations - 图25Move Down 上下移动它们 Create run/debug configurations - 图26
  • 点击 ApplyOK

定义启动之前的操作

您可以指定要在应用运行/调试配置前执行的任务。任务会按照其在列表中显示的顺序来执行。定义启动之前的操作是一项高级功能。

我们建议您不要使用此功能,而应将任何准备逻辑作为任务添加到 build.gradle 文件中,以便在从命令行构建时执行这些逻辑。

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

  • 要将任务添加到任务列表中,请点击 AddCreate run/debug configurations - 图27 并选择一种任务类型。如果打开一个对话框,请填充其中的字段并点击 OK
  • 可根据需要添加更多任务。
  • 要对任务进行排序,请选择一个任务并点击 UpCreate run/debug configurations - 图28DownCreate run/debug configurations - 图29 以在列表中向上或向下移动任务。
  • 如果您想在应用运行/调试配置设置前显示这些设置,请选择 Show this page
    默认情况下,此选项为未选中状态。

  • 如果您希望在运行或调试应用时自动激活 RunDebug 工具窗口,请选择 Active tool window
    默认情况下,此选项处于选中状态。

要从此列表中移除任务,请按以下步骤操作:

  • 选择一个任务。
  • 点击 RemoveCreate run/debug configurations - 图30
    要编辑任务,请按以下步骤操作:

  • 选择一个任务。

  • 点击 EditCreate run/debug configurations - 图31
  • 在打开的对话框中编辑任务设置,然后点击 OK
    下表列出了可供添加的任务。
任务描述
运行外部工具 运行 Android Studio 外部应用。在 External Tools 对话框中,选择您要运行的一个或多个应用,然后点击 OK。如果尚未在 Android Studio 中定义应用,请在 Create Tools 对话框中添加其定义。如需了解详细信息,请参阅配置第三方工具外部工具
运行其他配置 执行现有运行/调试配置之一。在 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 相同。
Build Artifacts 在 Android Studio 中不受支持。
Run Gradle task 运行 Gradle 任务。在打开的对话框中,指定详情,然后点击 OK。如需了解详细信息,请参阅 Gradle
Gradle-aware Make 编译项目并运行 Gradle。
App Engine Gradle builder App Engine Gradle builder 任务同步项目,然后构建模块。

默认的运行/调试配置模板

Android Studio 提供默认的配置模板,以帮助您快速入门。在使用 Android Studio 进行 Android 开发时,可使用以下模板:

  • Android App
  • Android Tests
  • App Engine DevAppServer
  • JUnit
    :Android Studio 2.1.x 及更低版本具有本机应用模板,而较新的版本则没有此模板。如果您的项目具有本机应用模板,则在您加载项目时,Android Studio 会自动将此模板转换为 Android App 模板。Convert Project 对话框会指导您完成该过程。

以下不受支持的模板来自 IntelliJ IDEA,并且不适用于使用 Android Studio 进行的 Android 开发:

Android 应用

您可以使用基于此模板的配置,在虚拟或硬件设备上运行或调试 Android 应用和 Activity。

Name 和 Share

运行/调试配置具有 NameShare 选项,而模板没有这两个选项。

字段描述
Name 运行/调试配置的名称。
Share
选中此选项,以通过版本控制使运行/调试配置可供其他团队成员使用。您可以共享运行/调试配置,但不能共享模板。如果您选中此选项,则在将项目签入 Git(或其他版本控制系统)后,当某个用户签出该项目时,签出项目包含此运行/调试配置。

Android Studio 将共享的运行/调试配置存储在 .idea/runConfigurations 文件夹中的单个 XML 文件内;否则,它将此配置存储在 .idea/workspace.xml 文件中。如需了解详细信息,请参阅基于目录的项目格式

默认:取消选中

“General”标签

General 标签中,您可以指定安装、启动和部署选项。Miscellaneous 标签也包含安装选项。

字段描述
Module 选择要应用此配置的模块
Installation Options:Deploy
选择一个选项:

- Default APK(默认)- 按照构建配置中指定的方式创建 APK。
- Custom Artifact - 在 Android Studio 中不受支持。
- Nothing - 不在设备上安装 APK。例如,如果您喜欢手动安装 APK,则无需使用 Android Studio 进行安装。
Installation Options:Install Flags 键入您要使用的任何 adb pm
install
选项。就像使用命令行时那样设置选项格式,但不指定路径。下面是一些示例:
-i foo.bar.baz -r /path/to/apk



-d -r

默认:无选项
Launch Options:Launch
选择一个选项:

- Nothing - 不启动任何操作。如果您已在 Deploy 字段中指定 Nothing,应用已在运行,并且选择 Debug,则此选项将与使用 Attach debugger to Android process 相似;选择 Run 将不执行任何操作。
- Default Activity(默认)- 启动您在清单中标记为启动项的 Activity。例如:

  1. <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>


- Specified Activity - 启动模块中特定的应用 Activity。键入名称或点击 ,从列表中选择一个 Activity。
- URL - 指定要打开的网址。请参阅测试网址
Launch Options:Launch Flags 键入您要使用的任何 adb am
start
选项。就像使用命令行时那样设置选项格式,但不包含 Intent。例如:
-W

如果您选择的 Launch 值为 Nothing,此选项不会显示。

默认:无选项
Deployment Target Options:目标
选择一个选项:

- Open Select Deployment Target Dialog(默认)- 打开 Select Deployment Target 对话框,以选择虚拟或硬件设备。
- USB Device - 使用通过 USB 端口连接到开发计算机的硬件设备。如果有多个硬件设备,将显示一个对话框,以便您可以进行选择。
- Emulator - 使用虚拟设备。在配置中,您可以选择 AVD;否则,会仅使用列表中的第一个 AVD。

Deployment Target Options:Use same device for future launches
如果您希望以后自动使用您通过 Select Deployment Target 对话框选择的设备,请选中此选项。如果此设备不可用,将显示一个对话框。默认:取消选中
Before Launch 请参阅定义启动之前的操作

“Miscellaneous”标签

Miscellaneous 标签中,您可以指定 logcat、安装、启动和部署选项。General 标签也包含安装选项。

字段描述
Logcat:Show logcat automatically 如果选中此选项,每次您使用此配置成功部署和启动应用时,均会自动激活 Android Monitorlogcat 标签否则,应用启动时焦点不会自动移动到 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 不会强行停止此应用。

此选项与上一个控制是否安装 APK 的选项配合使用。对于这两个 Installation Options 字段,除非您明确希望每次强行安装,否则请将它们保留为默认值。

在某些情况下,您可能需要取消选中此选项。例如,如果您正在编写输入法引擎 (IME),强行停止此应用将会导致不将此应用选为当前键盘,这可能并非您所乐见的。

默认:已选中
Before Launch 请参阅定义启动之前的操作

“Debugger”标签

Debugger 标签中指定调试选项。

对于 C 和 C++ 代码,Android Studio 会使用 LLDB 调试程序。除了普通的 Android Studio UI,调试程序窗口还有一个 LLDB 标签,让您可以在调试过程中输入 LLDB 命令。您可以输入 Android Studio 用于在调试程序 UI 中显示信息的相同命令,还可以执行其他操作。

对于 C 和 C++ 项目,您可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。要执行此操作,您可以使用如下所示的按钮:

  • AddCreate run/debug configurations - 图32 - 添加目录或命令。
  • RemoveCreate run/debug configurations - 图33 - 选择目录或命令,然后点击此按钮可移除项。
  • UpCreate run/debug configurations - 图34 - 选择目录或命令,然后点击此按钮可在列表中向上移动项。
  • DownCreate run/debug configurations - 图35 - 选择目录或命令,然后点击此按钮可在列表中向下移动项。
    如需了解在 Android Studio 中调试的详细信息,请参阅调试您的应用
字段描述
Debug type
选择下列其中一个选项:

- Auto(默认)- 让 Android Studio 选择最适合您的项目的调试类型。
- Java - 仅调试 Java 代码。
- Native - 调试原生 C 或 C++ 代码。
- Hybrid - 在两个单独的调试会话中调试 Java 和原生代码。
建议使用 Auto 选项,因为它会为您的项目自动选择合适的调试类型。
Experimental:Use Java aware C++ debugger - Android N+ only
选择此选项可以在同一个 LLDB 调试会话中调试 C++ 和 Java Android 代码。Java 识别 C++ 调试程序是 Native 调试程序模式的扩展;除了 C++ 调试外,它还支持 Java。

要能够使用此功能,项目

- 只能使用 Android 7.0(API 级别 24)或更高版本
- Debug type 必须为 NativeAuto


选择 Auto 作为 Debug type 后,如果项目满足要求,Android Studio 会自动选择此选项。请注意,如果您具有纯 Java 项目,且想要使用 LLDB 对其进行调试,则可以选择此选项和 Native

自 Android Studio 2.2 开始,此功能为实验性功能。如需了解详细信息,请参阅使用实验性 Java 识别 C++ 调试程序

默认:取消选中
Symbol Directories
如果您想要添加符号文件为调试程序提供在 Android Studio 外部生成的 C 或 C++ 信息,则可以在此处添加一个或多个目录。Android Studio 会优先使用这些目录中的任何文件,而不是适用于 Gradle 的 Android 插件生成的文件。调试程序会按顺序从上到下搜索目录,直到找到需要的内容。它会递归搜索目录中的文件。要优化列表并节省时间,请将最经常使用的目录置于列表的最上方。

如果您指定的目录位于树中较高位置,则搜索所有子目录可能需要较长时间。如果您添加非常具体的目录,搜索的时间会较短。您需要在速度和搜索调试所需文件之间寻求适当的平衡。例如,如果您的目录包含用于存放不同 Android 二进制接口 (ABI) 的子目录,则可以选择添加用于存放特定 ABI 或所有 ABI 的目录。搜索较高等级的目录所需时间较长,但如果您决定在不同设备上调试,这样做仍然是一种较为可靠的方法。

请注意,您不必添加包含 Gradle 符号文件的目录,因为调试程序会自动使用它们。
LLDB Startup Commands
添加您想要在调试程序连接到进程之前执行的 LLDB 命令。例如,您可以为环境定义设置,如下面命令所示:

settings set target.max-memory-read-size 2048

LLDB 将按照从上到下的顺序执行命令。
LLDB Post Attach Commands
在调试程序连接到进程之后添加您想要执行的 LLDB 命令。例如:

process handle SIGPIPE -n true -p true -s false

LLDB 将按照从上到下的顺序执行命令。
Host working directory 指定 LLDB 工作目录。
Logging:Target channels
指定 LLDB 日志选项。Android Studio 会根据团队的经验设置默认选项,所以速度不会太慢,但却包含问题排查所需的信息。Android Studio 错误报告经常需要请求日志。此字段的默认值为

lldb process:gdb-remote packets

您可以更改默认值以收集更多信息。例如,下面的日志选项可以收集特定 platform 的相关信息:
lldb process
platform:gdb-remote packets



如需查看日志命令的完整列表,请在 Android Studio 的 LLDB shell 窗口中输入 log list 命令。

Android Studio 将设备日志置于下面的位置,其中 ApplicationId 是您构建的 APK 清单中使用的唯一应用 ID,可以在您的设备和 Google Play 商店中标识您的应用:

/data/data/ApplicationId/lldb/log

或者,如果多名用户访问设备,Android Studio 会将日志置于下面的位置,其中 AndroidUserId 是设备上用户的唯一标识符:

/data/user/AndroidUserId/ApplicationId/lldb/log

如需了解有关使用 LLDB 进行远程调试的信息,请参阅远程调试
Before Launch 请参阅定义启动之前的操作

“Profiling”标签

Profiling 标签中为 Android Monitor 指定 GPU 调试程序分析选项。

字段描述
Graphics Trace Options:Capture GPU Commands
启用时,运行此运行/调试配置将构建、安装和运行支持 GPU 追踪的应用。调试应用时不支持追踪。如果调试支持 GPU 追踪的应用,您将收到一条消息,调试程序虽然启动,但不会开启追踪。此选项与 GPU 调试程序工具相关。

请注意,启用此复选框后,每次启动应用时,应用均会受阻并等待您连接调试程序或 GPU 调试程序。
Graphics Trace Options:Disable precompiled shaders and programs
选择此选项可以在追踪过程中为预编译着色器和程序二进制文件停用 OpenGL ES 图形驱动程序支持。此选项与 GPU 调试程序工具相关。

重播追踪不支持预编译着色器,因此只能将运行时使用 glShaderSource 函数编译的着色器用于帧缓存检查。

在使用 glShaderBinaryglProgramBinary 函数之前,应用应当始终查询是否支持预编译着色器,如果不支持预编译着色器或程序,将回退到运行时编译。

默认:取消选中
Before Launch 请参阅定义启动之前的操作

Android Tests

您应使用的测试模板取决于源集。Android Tests 模板用于工具测试JUnit 模板用于本地单元测试

如果您正利用 Firebase 测试实验室在各种设备上测试,您可以使用此模板定义工具测试。如需了解详细信息,请参阅利用 Firebase 测试实验室运行测试

Name 和 Share

运行/调试配置具有 NameShare 选项,而模板没有这两个选项。

字段描述
Name 运行/调试配置的名称。
Share
选中此选项,以通过版本控制使运行/调试配置可供其他团队成员使用。您可以共享运行/调试配置,但不能共享模板。如果您选中此选项,则在将项目签入 Git(或其他版本控制系统)后,当某个用户签出该项目时,签出项目包含此运行/调试配置。

Android Studio 将共享的运行/调试配置存储在 .idea/runConfigurations 文件夹中的单个 XML 文件内;否则,它将此配置存储在 .idea/workspace.xml 文件中。如需了解详细信息,请参阅基于目录的项目格式

默认:取消选中

“General”标签

General 标签中,您可以指定测试位置、测试工具运行器、adb shell 和部署选项。

字段描述
Module 选择要应用此配置的模块
测试
在此区域,指定您要运行的测试的位置:

- All in module(默认)- 从所选模块启动所有测试。
- All in package - 从 Package 字段中指定的软件包启动所有测试。键入名称或点击 ,以从对话框中选择软件包。
- Class - 对 Class 字段中指定的类启动测试。键入名称或点击 ,以从对话框中选择类。
- Method - 启动测试方法。在 Class 字段中,指定包含此方法的类。在 Method 字段中,指定方法。键入名称或点击 ,以从对话框中选择类或方法。
Specific instrumentation runner (optional) 键入测试工具运行器的位置;点击 以使用对话框。build.gradle 文件指定测试工具运行器的位置;此值会替换该位置。默认值通常为 Android 测试支持库中的 AndroidJUnitRunner 类。
Extra options 键入您要使用的任何 adb am
instrument
选项。请勿键入组件。例如,如果您正在使用 Android 测试支持库中的 AndroidJUnitRunner,则可以使用此字段将 -e size small 等其他选项传递给运行器。默认:无选项
Deployment Target Options:目标
选择一个选项:

- Open Select Deployment Target Dialog(默认)- 打开 Select Deployment Target 对话框,以选择虚拟或硬件设备。
- USB Device - 使用通过 USB 端口连接到开发计算机的硬件设备。如果有多个硬件设备,将显示一个对话框,以便您可以进行选择。
- Emulator - 使用虚拟设备。在配置中,您可以选择 AVD;否则,会仅使用列表中的第一个 AVD。
- Firebase Test Lab Device Matrix - 请参阅利用 Firebase 测试实验室运行测试
Deployment Target Options:Use same device for future launches 如果您希望以后自动使用您通过 Select Deployment Target 对话框选择的设备,请选中此选项。如果此设备不可用,将显示一个对话框。默认:取消选中
Before Launch 请参阅定义启动之前的操作

“Miscellaneous”标签

Miscellaneous 标签包含 logcat 和安装选项。

字段描述
Logcat:Clear log before launch 如果您希望在启动此应用之前从日志文件中移除之前会话的数据,请选中此选项。默认:取消选中
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 不会强行停止此应用。

此选项与上一个控制是否安装 APK 的选项配合使用。对于这两个 Installation Options 字段,除非您明确希望每次强行安装,否则请将它们保留为默认值。

在某些情况下,您可能需要取消选中此选项。例如,如果您正在编写输入法引擎 (IME),强行停止此应用将会导致不将此应用选为当前键盘,这可能并非您所乐见的。

默认:已选中
Before Launch 请参阅定义启动之前的操作

“Debugger”标签

Debugger 标签中指定调试选项。

对于 C 和 C++ 代码,Android Studio 会使用 LLDB 调试程序。除了普通的 Android Studio UI,调试程序窗口还有一个 LLDB 标签,让您可以在调试过程中输入 LLDB 命令。您可以输入 Android Studio 用于在调试程序 UI 中显示信息的相同命令,还可以执行其他操作。

对于 C 和 C++ 项目,您可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。要执行此操作,您可以使用如下所示的按钮:

  • AddCreate run/debug configurations - 图36 - 添加目录或命令。
  • RemoveCreate run/debug configurations - 图37 - 选择目录或命令,然后点击此按钮可移除项。
  • UpCreate run/debug configurations - 图38 - 选择目录或命令,然后点击此按钮可在列表中向上移动项。
  • DownCreate run/debug configurations - 图39 - 选择目录或命令,然后点击此按钮可在列表中向下移动项。
    如需了解在 Android Studio 中调试的详细信息,请参阅调试您的应用
字段描述
Debug type
选择下列其中一个选项:

- Auto(默认)- 让 Android Studio 选择最适合您的项目的调试类型。
- Java - 仅调试 Java 代码。
- Native - 调试原生 C 或 C++ 代码。
- Hybrid - 在两个单独的调试会话中调试 Java 和原生代码。
建议使用 Auto 选项,因为它会为您的项目自动选择合适的调试类型。
Experimental:Use Java aware C++ debugger - Android N+ only
选择此选项可以在同一个 LLDB 调试会话中调试 C++ 和 Java Android 代码。Java 识别 C++ 调试程序是 Native 调试程序模式的扩展;除了 C++ 调试外,它还支持 Java。

要能够使用此功能,项目

- 只能使用 Android 7.0(API 级别 24)或更高版本
- Debug type 必须为 NativeAuto


选择 Auto 作为 Debug type 后,如果项目满足要求,Android Studio 会自动选择此选项。请注意,如果您具有纯 Java 项目,且想要使用 LLDB 对其进行调试,则可以选择此选项和 Native

自 Android Studio 2.2 开始,此功能为实验性功能。如需了解详细信息,请参阅使用实验性 Java 识别 C++ 调试程序

默认:取消选中
Symbol Directories
如果您想要添加符号文件为调试程序提供在 Android Studio 外部生成的 C 或 C++ 信息,则可以在此处添加一个或多个目录。Android Studio 会优先使用这些目录中的任何文件,而不是适用于 Gradle 的 Android 插件生成的文件。调试程序会按顺序从上到下搜索目录,直到找到需要的内容。它会递归搜索目录中的文件。要优化列表并节省时间,请将最经常使用的目录置于列表的最上方。

如果您指定的目录位于树中较高位置,则搜索所有子目录可能需要较长时间。如果您添加非常具体的目录,搜索的时间会较短。您需要在速度和搜索调试所需文件之间寻求适当的平衡。例如,如果您的目录包含用于存放不同 Android 二进制接口 (ABI) 的子目录,则可以选择添加用于存放特定 ABI 或所有 ABI 的目录。搜索较高等级的目录所需时间较长,但如果您决定在不同设备上调试,这样做仍然是一种较为可靠的方法。

请注意,您不必添加包含 Gradle 符号文件的目录,因为调试程序会自动使用它们。
LLDB Startup Commands
添加您想要在调试程序连接到进程之前执行的 LLDB 命令。例如,您可以为环境定义设置,如下面命令所示:

settings set target.max-memory-read-size 2048

LLDB 将按照从上到下的顺序执行命令。
LLDB Post Attach Commands
在调试程序连接到进程之后添加您想要执行的 LLDB 命令。例如:

process handle SIGPIPE -n true -p true -s false

LLDB 将按照从上到下的顺序执行命令。
Host working directory 指定 LLDB 工作目录。
Logging:Target channels
指定 LLDB 日志选项。Android Studio 会根据团队的经验设置默认选项,所以速度不会太慢,但却包含问题排查所需的信息。Android Studio 错误报告经常需要请求日志。此字段的默认值为

lldb process:gdb-remote packets

您可以更改默认值以收集更多信息。例如,下面的日志选项可以收集特定 platform 的相关信息:
lldb process
platform:gdb-remote packets



如需查看日志命令的完整列表,请在 Android Studio 的 LLDB shell 窗口中输入 log list 命令。

Android Studio 将设备日志置于下面的位置,其中 ApplicationId 是您构建的 APK 清单中使用的唯一应用 ID,可以在您的设备和 Google Play 商店中标识您的应用:

/data/data/ApplicationId/lldb/log

或者,如果多名用户访问设备,Android Studio 会将日志置于下面的位置,其中 AndroidUserId 是设备上用户的唯一标识符:

/data/user/AndroidUserId/ApplicationId/lldb/log

如需了解有关使用 LLDB 进行远程调试的信息,请参阅远程调试
Before Launch 请参阅定义启动之前的操作

“Profiling”标签

Profiling 标签中为 Android Monitor 指定 GPU 调试程序分析选项。

字段描述
Graphics Trace Options:Capture GPU Commands
启用时,运行此运行/调试配置将构建、安装和运行支持 GPU 追踪的应用。调试应用时不支持追踪。如果调试支持 GPU 追踪的应用,您将收到一条消息,调试程序虽然启动,但不会开启追踪。此选项与 GPU 调试程序工具相关。

请注意,启用此复选框后,每次启动应用时,应用均会受阻并等待您连接调试程序或 GPU 调试程序。
Graphics Trace Options:Disable precompiled shaders and programs
选择此选项可以在追踪过程中为预编译着色器和程序二进制文件停用 OpenGL ES 图形驱动程序支持。此选项与 GPU 调试程序工具相关。

重播追踪不支持预编译着色器,因此只能将运行时使用 glShaderSource 函数编译的着色器用于帧缓存检查。

在使用 glShaderBinaryglProgramBinary 函数之前,应用应当始终查询是否支持预编译着色器,如果不支持预编译着色器或程序,将回退到运行时编译。

默认:取消选中
Before Launch 请参阅定义启动之前的操作

App Engine DevAppServer

此运行/调试配置适用于 Google 云端平台。如需了解详细信息,请参阅添加 App 引擎 Java Servlet 模块运行、测试和部署后端。当您按照上述步骤将项目同步到 build.gradle 文件后,Android Studio 将为您创建 App Engine DevAppServer 配置。

请注意,IntellJ IDEA App Engine Server 模板是 Android Studio 中未提供的其他模板。

字段描述
Name 运行/调试配置的名称。
Share
选中此选项,以通过版本控制使运行/调试配置可供其他团队成员使用。您可以共享运行/调试配置,但不能共享模板。如果您选中此选项,则在将项目签入 Git(或其他版本控制系统)后,当某个用户签出该项目时,签出项目包含此运行/调试配置。

Android Studio 将共享的运行/调试配置存储在 .idea/runConfigurations 文件夹中的单个 XML 文件内;否则,它将此配置存储在 .idea/workspace.xml 文件中。如需了解详细信息,请参阅基于目录的项目格式

默认:取消选中
Single instance only 如果您需要确保当前仅执行一个运行/调试配置实例,请选中此选项。系统不允许同时运行多个相同的配置。默认:已选中
Module 选择要应用此配置的模块
Synchronize with build.gradle configuration 如果您添加 App 引擎模块并将其同步到 build.gradle 文件,系统将为您填充 App Engine DevAppServer 配置字段(推荐)。选择 Tools > Android > Sync Project with Gradle Files 也会同步项目。默认:已选中
App Engine SDK 键入本地计算机上 Google App Engine SDK for Java 的路径。点击 以从对话框中选择路径。
War Path 键入您正在本地开发服务器上部署的应用的网络应用归档 (WAR) 目录的路径。点击 以从对话框中选择路径。
VM Args
指定您要传递给 VM 以用于启动 DevAppServer 的命令行选项。在指定选项时:

- 使用空格分隔不同的选项。
- 对于包含空格的选项,请使用引号 (" ") 括住空格。
- 如果选项包含引号,则在引号前添加反斜杠 (\")。
如需了解有关 VM 选项的详细信息,请参阅适用于您的 J2SE 版本的文档,例如 java JDK 7java JDK 8

默认:无选项
Server Address 键入要供服务器使用的主机地址。您可能需要提供能够从网络中的其他计算机访问开发服务器的地址。如果地址为 0.0.0.0,将可访问本地主机和主机名。默认:localhost
Server Port 键入要供服务器使用的端口号。默认值为:8080
Disable Check for App Engine SDK Updates 如果指定此选项,开发服务器将不会与 App 引擎通信,不检查是否有新的 SDK 版本。默认情况下,此服务器在启动时检查是否有新版本,如果有新版本,将打印一条消息。
Before Launch 请参阅定义启动之前的操作