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

当您运行、调试或测试代码时,Android Studio 会使用运行/调试配置来确定如何执行该操作。通常,最初创建的配置 足以运行或调试应用程序。但是,您可以修改和创建新的配置,并修改配置模板以适合您的开发流程,如本页面所述。

有关更多信息,另请参阅以下 IntelliJ 文档

关于运行/调试配置

运行/调试配置指定了应用程序安装、启动和测试选项等详细信息。您可以为一次性使用定义配置,或将其保存以供将来使用。保存后,您可以从 工具栏 中的 **选择运行/调试配置** 下拉列表中选择该配置。Android Studio 会将配置保存为项目的一部分。

最初创建的运行/调试配置

首次创建项目时,Android Studio 会根据 Android 应用模板 为主活动创建运行/调试配置。要运行或调试项目,必须始终至少定义一个运行/调试配置。因此,建议您不要删除最初创建的配置。

项目范围和版本控制

运行/调试配置和模板更改仅适用于当前项目。您可以通过版本控制系统共享运行/调试配置(但不能共享模板)。有关如何共享配置的更多信息,请参阅 命名和共享配置选项

打开“运行/调试配置”对话框

要打开“运行/调试配置”对话框,请选择运行 > 编辑配置。将出现运行/调试配置对话框,如图 1 所示。

图 1. 运行/调试配置对话框

对话框的左侧面板按模板类型对定义的配置进行分组,并允许您在底部 编辑配置模板。您可以在右侧面板中编辑所选配置。调整对话框大小以查看任何隐藏的项目。

在此对话框中,您可以

创建新的运行/调试配置

您可以从运行/调试配置对话框、项目窗口或代码编辑器中定义新的运行/调试配置。新配置必须基于 配置模板

“运行/调试配置”对话框显示您的运行/调试配置和可用的配置模板。您可以直接从模板或从另一个配置的副本开始新的配置。然后,您可以根据需要更改字段值。

或者,您可以右键单击项目窗口中的某个项目以自动创建特定于该项目的配置。例如,如果要运行特定活动,可以右键单击活动 Java 文件并选择运行。根据项目,Android Studio 将使用 Android 应用Android 工具测试JUnit 配置模板来创建配置。

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

当您在运行/调试配置对话框之外创建配置时,除非您保存该配置,否则该配置将是临时的。默认情况下,您可以在项目中最多拥有五个临时配置,然后 Android Studio 将开始删除它们。要更改此默认值,请打开 Android Studio 设置,并更改高级设置 > 运行/调试 > 临时配置限制。有关临时配置的更多信息,请参阅 创建和保存临时运行/调试配置

启动基于模板的配置

要定义基于模板的运行/调试配置,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 单击添加新配置
  3. 选择 配置模板
  4. 名称字段中键入名称。
  5. 根据需要修改配置。
  6. 务必更正对话框底部显示的任何错误。

  7. 单击应用确定

从副本启动配置

要从另一个配置的副本开始定义运行/调试配置,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 在左侧窗格中选择现有的运行/调试配置。
  3. 单击复制配置
  4. 名称字段中键入名称。
  5. 根据需要修改配置。
  6. 务必更正对话框底部显示的任何错误。

  7. 单击应用确定

为项目中的项目定义配置

Android Studio 可以为项目窗口中显示的某些项目创建运行/调试配置。该配置基于配置模板,如下所示

要为项目中的项目创建运行/调试配置,请执行以下步骤

  1. Android 或项目视图 中打开项目。
  2. 项目窗口中,右键单击可测试项目并选择运行 filename调试 filename。Android Studio 将创建一个临时运行/调试配置并启动您的应用。
  3. 打开工具栏中的选择运行/调试配置下拉列表。
  4. 从您要保存的配置旁边的选项中选择保存配置

    图 2. 保存配置

注意:如果您右键单击并运行或调试同一个项目(但不是活动),Android Studio 将创建一个新配置。

为类或方法定义测试配置

Android Studio 允许您为类或方法定义测试运行配置,然后执行它。例如,如果您创建了一个新类,可以为它创建并运行测试。如果测试通过,则可以运行项目其余部分的测试,以确保您的新代码不会在其他地方破坏任何东西。

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

要为 Java 代码中的类或方法创建运行/调试配置,请执行以下步骤

  1. Android 或项目视图 中打开项目。
  2. 在代码编辑器中打开 Java 文件。
  3. 在代码中选择一个类或方法,然后按 Control+Shift+T (Command+Shift+T)。
  4. 从出现的菜单中选择创建新测试
  5. 创建测试 对话框中,可以选择更改或设置值,然后单击确定
  6. 选择目标目录对话框中,选择您希望 Android Studio 将测试放置在项目中的位置。您可以通过目录结构或通过选择相邻类来指定位置。
  7. 单击确定

    新的测试将显示在项目窗口中相应的测试源集中。

  8. 要运行测试,请执行以下操作之一
    • 项目窗口中,右键单击测试并选择运行调试
    • 在代码编辑器中,右键单击测试文件中的类定义或方法名称,然后选择运行调试以测试类中的所有方法。
  9. 打开工具栏中的选择运行/调试配置下拉列表。
  10. 从您要保存的配置旁边的选项中选择保存配置

    图 3. 保存配置

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

如果您已保存运行/调试配置,则可以在运行或调试应用之前选择它。

要使用保存的运行/调试配置,请执行以下步骤

  1. 工具栏 中的选择运行/调试配置下拉列表中选择运行/调试配置。
  2. 下拉列表位于运行 调试 的左侧;例如,

  3. 选择运行 > 运行运行 > 调试
  4. 或者,单击运行 调试

编辑运行/调试配置

要编辑运行/调试配置,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 在左侧窗格中选择配置。
  3. 根据需要修改配置。
  4. 务必更正对话框底部显示的任何错误。

  5. 单击应用确定

编辑运行/调试配置模板

您可以编辑 Android Studio 提供的配置模板,以适应您的开发流程。当您编辑模板时,它不会影响使用该模板的现有配置。因此,例如,如果您需要创建许多特定类型的配置,可以编辑模板,然后在完成后将其更改回来。

虽然您无法创建新的模板,但可以创建类似于模板的配置。您可以 复制配置 并编辑副本以创建新配置。

要编辑模板,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 单击编辑配置模板...
  3. 选择一个配置模板。
  4. 根据需要修改配置。
  5. 务必更正对话框底部显示的任何错误。

  6. 单击应用确定

对配置进行排序和分组

运行/调试配置对话框中,您可以对配置进行排序,以便快速找到它们。您可以按字母顺序对文件夹中的项目进行排序,并创建新文件夹以对配置进行分组。

要按字母顺序对配置进行排序,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 选择包含配置的文件夹。
  3. 单击排序配置
  4. 单击确定关闭对话框。

要在文件夹中对配置进行分组,请执行以下步骤

  1. 打开“运行/调试配置”对话框.
  2. 选择包含配置的文件夹。
  3. 单击创建新文件夹
  4. 文件夹名称字段中键入名称。
  5. 单击应用保存名称。
  • 将来自同一模板类别的项目拖到文件夹中。
  • 通过将文件夹和配置拖到相应位置,对同一模板类别中的文件夹和配置进行排序。
  • 单击确定关闭对话框。
  • 定义启动前操作

    您可以指定在应用运行/调试配置之前执行的任务。任务将按它们在列表中出现的顺序执行。

    注意:定义启动前任务是一项高级功能。我们建议您不要使用此功能,而是将任何准备逻辑作为任务放在 build.gradle 文件中,以便在您从命令行构建时执行它们。

    要创建任务列表,请执行以下步骤

    1. 运行/调试配置对话框底部启动前(您可能需要向下滚动)下,单击添加 并选择任务类型。如果打开对话框,请填写字段并单击确定
    2. 根据需要添加更多任务。
    3. 要对任务进行排序,请拖动它们或选择一个任务,然后单击向上 向下 以在列表中向上或向下移动它。
    4. 如果要在应用运行/调试配置设置之前显示它们,请选择显示此页面

      默认情况下,此选项未选中。

    5. 如果希望在运行或调试应用时激活 运行调试 工具窗口,请选择活动工具窗口

      默认情况下,此选项已选中。

    要从列表中删除任务,请执行以下步骤

    1. 选择一个任务。
    2. 单击删除

    要编辑任务,请执行以下步骤

    1. 选择一个任务。
    2. 点击编辑
    3. 在打开的对话框中编辑任务设置,然后点击确定

    下表列出了您可以添加的可用任务。

    任务 描述
    运行外部工具 运行 Android Studio 外部的应用程序。在外部工具 对话框中,选择要运行的一个或多个应用程序,然后点击确定。如果应用程序尚未在 Android Studio 中定义,请在创建工具 对话框中添加其定义。有关更多信息,请参阅配置第三方工具外部工具
    运行其他配置 执行现有的运行/调试配置之一。在选择要执行的配置对话框中,选择要执行的配置,然后点击确定
    构建 编译项目或模块。如果运行/调试配置指定了特定模块,则 Android Studio 会执行构建模块命令;如果未指定任何模块,则会执行构建项目命令
    构建项目 编译项目。Android Studio 执行构建项目命令
    构建,不进行错误检查 此选项与构建相同,只是 Android Studio 会执行运行/调试配置,而不管编译结果如何。
    构建构件 Android Studio 不支持。
    运行 Gradle 任务 运行 Gradle 任务。在打开的对话框中,指定详细信息,然后点击确定。有关更多信息,请参阅Gradle
    Gradle 感知构建 编译项目并运行 Gradle。
    App Engine Gradle 构建器 App Engine Gradle 构建器任务会同步项目,然后构建模块。

    配置模板

    Android Studio 提供配置模板,帮助您快速入门。以下部分介绍适用于使用 Android Studio 进行 Android 开发的模板。

    注意:Android Studio 2.1.x 及更低版本包含“原生应用程序”模板,而较新版本没有。如果您在项目中使用“原生应用程序”模板,Android Studio 会在您加载项目时将其转换为“Android 应用程序”。“转换项目”对话框将指导您完成该过程。

    不支持的模板

    以下不支持的模板来自 IntelliJ IDEA,并非特定于使用 Android Studio 进行 Android 开发。有关使用这些模板的信息,请按照链接访问 IntelliJ IDEA 文档。

    通用配置选项

    名称允许并行运行存储为项目文件选项对于多个配置模板都是通用的。要了解有关它们的更多信息,请参阅通用设置

    Android Studio 将共享运行/调试配置存储在 project_directory/.idea/runConfigurations/ 文件夹下的单独 XML 文件中。有关更多信息,请参阅 IntelliJ 项目文档中的基于目录的格式

    Android 应用程序

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

    常规选项卡

    常规选项卡中,您可以指定安装、启动和部署选项。杂项选项卡也包含安装选项。

    字段 描述
    模块 选择要将此配置应用于的模块
    安装选项:部署

    选择一个选项

    • 默认 APK - 为您的当前选择的变体构建并部署 APK。
    • 来自应用包的 APK - 从Android 应用包构建并部署您的应用。也就是说,Android Studio 首先将您的应用项目转换为应用包,其中包含应用的所有已编译代码和资源。然后,Android Studio 从该应用包中仅生成将应用部署到连接设备所需的 APK。当您测试要上传到 Google Play 的应用包时,通常应使用此选项,因为从应用包部署会延长总构建时间。
    • 自定义构件 - Android Studio 不支持。
    • - 不在设备上安装 APK。例如,如果您希望手动安装 APK,则不需要 Android Studio 安装它。
    安装选项:以即时应用形式部署 如果您的应用支持即时体验(即,您在创建新项目时添加了对即时应用的支持,或者您创建了一个或多个支持即时功能的模块),您可以选择通过选中以即时应用形式部署旁边的框来部署这些支持即时的模块。
    安装选项:要部署的功能 如果您的应用包含功能模块,请选中您希望在部署应用时包含的每个功能旁边的框。只有当您的应用包含功能模块时,才会显示此选项。

    注意:如果您要测试按需下载和安装功能模块,则必须在发布应用包后执行此操作,然后使用 Play 管理中心内部测试轨道。要了解更多信息,请阅读将应用包上传到 Play 管理中心

    安装选项:安装标志 键入您要使用的任何 adb pm install 选项。以与在命令行中相同的方式格式化选项,但不带路径。以下是一些示例

    -i foo.bar.baz -r /path/to/apk

    以及

    -d -r

    默认值:无选项。

    启动选项:启动

    选择一个选项

    • - 当您选择运行调试时,不启动任何内容。但是,如果您的应用已在运行,并且您选择调试,则 Android Studio 会将调试器附加到您的应用进程。
    • 默认活动 - 启动您在清单中标记为启动的活动。例如
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      
    • 指定活动 - 在您的模块中启动特定的应用活动。选中此选项后,活动字段将显示在下方,您可以在其中键入要启动的活动的名称,或点击更多从列表中选择活动。
    • URL - 启动与您的应用清单中的意图过滤器匹配的 URL。选中此选项后,URL字段将显示在下方,您可以在其中输入 URL。

      您必须填写此字段才能启动Android 即时应用。您还可以使用它来测试您的Android 应用链接

    启动选项:启动标志 键入您要使用的任何 adb am start 选项。以与在命令行中相同的方式格式化选项,但不带意图。例如

    -W

    如果您选择了启动值为,则不会显示此选项。

    默认值:无选项。

    部署目标选项:目标

    选择一个选项

    • 打开选择部署目标对话框 - 打开选择部署目标对话框以选择虚拟设备或硬件设备。
    • USB 设备 - 使用通过 USB 端口连接到开发计算机的硬件设备。如果有多个设备,则会显示一个对话框,供您选择。
    • 模拟器 - 使用虚拟设备。在配置中,您可以选择 AVD;否则,它只使用列表中的第一个 AVD。

    部署目标选项:对将来的启动使用同一设备

    默认情况下,此选项未选中,因此每次运行应用时,都会出现选择部署对话框,供您选择设备。当您选中此选项并运行应用时,会显示选择部署对话框,供您选择设备。然后,每次运行应用时,它都会在您选择的设备上启动,而不会显示选择部署对话框。要在其他设备上运行应用,请取消选中对将来的启动使用同一设备,或者使用运行 > 停止 app停止 停止应用,然后再次启动它。选择部署对话框将显示,以便您可以选择设备。
    启动前 请参阅定义启动前操作

    杂项选项卡

    杂项选项卡中,您可以指定 logcat、安装、启动和部署选项。常规选项卡也包含安装选项。

    字段 描述
    Logcat:自动显示 Logcat 选中此选项后,每次您使用此配置成功部署并启动应用时,Logcat窗口都会打开。默认值:已选中。
    Logcat:启动前清除日志 如果您希望 Android Studio 在启动应用之前从日志文件中删除以前会话的数据,请选中此选项。默认值:未选中。
    安装选项:如果 APK 未更改,则跳过安装。 选中此选项后,如果 Android Studio 检测到 APK 未更改,则不会重新部署 APK。如果您希望 Android Studio 强制安装 APK,即使它没有更改,也请取消选中此选项。默认值:已选中
    安装选项:在启动活动之前强制停止正在运行的应用程序

    如果选中,当 Android Studio 检测到不需要重新安装 APK,因为它没有更改时,它会强制停止应用,以便应用从默认启动器活动开始。如果取消选中此选项,Android Studio 不会强制停止应用。

    此选项与控制是否安装 APK 的先前选项一起使用。对于两个安装选项字段,请保留其默认值,除非您明确希望每次都强制安装。

    在某些情况下,您可能希望取消选中此选项。例如,如果您正在编写输入法引擎 (IME),强制停止应用会取消选择它作为当前键盘,而这可能不是您想要的。

    默认值:已选中

    启动前 请参阅定义启动前操作

    调试器选项卡

    调试器选项卡中指定调试选项。

    对于 C 和 C++ 代码,Android Studio 使用 LLDB 调试器。除了正常的 Android Studio UI 之外,调试器窗口还有一个 **LLDB** 选项卡,允许您在调试期间输入 LLDB 命令。您可以输入 Android Studio 用于在调试器 UI 中显示信息的相同命令,并且可以执行其他操作。

    对于 C 和 C++ 项目,您可以在 **调试器** 选项卡中添加符号目录,以及 LLDB 启动和连接后命令。为此,您使用类似于以下内容的按钮

    • **添加** - 添加目录或命令。
    • **删除** - 选择目录或命令,然后单击此按钮以删除该项目。
    • **向上** - 选择目录或命令,然后单击此按钮以将该项目向上移动到列表中。
    • **向下** - 选择目录或命令,然后单击此按钮以将该项目向下移动到列表中。

    有关在 Android Studio 中调试的更多信息,请参阅 调试您的应用

    字段 描述
    调试类型

    选择以下选项之一

    • 仅 Java - 仅调试 Java 代码。
    • 自动检测 - 让 Android Studio 为您的项目选择最佳调试类型。
    • 仅本机 - 调试本机 C 或 C++ 代码。
    • 双重 (Java + 本机) - 在两个单独的调试会话中调试 Java 和本机代码。

    建议使用 **自动检测** 选项,因为它会为您的项目选择正确的调试类型。

    符号目录

    如果您想添加符号文件以向调试器提供在 Android Studio 之外生成的 C 或 C++ 信息,您可以在此处添加一个或多个目录。Android Studio 优先使用这些目录中的任何文件,而不是由 Android Gradle 插件 生成的文件。调试器从上到下按顺序搜索目录,直到找到它需要的内容。它递归地搜索目录中的文件。为了优化列表并节省时间,请将最常使用的目录放在列表的顶部。

    如果您在树中指定了一个上层目录,搜索所有子目录可能需要更长时间。如果您添加一个非常具体的目录,搜索所需的时间更短。您需要在速度和找到调试所需的所需文件之间找到适当的平衡。例如,如果您有一个包含针对不同 Android 二进制接口 (ABI) 的子目录的目录,您可以选择添加特定 ABI 的目录或所有 ABI 的目录。虽然搜索上层目录可能需要更长时间,但如果您决定在不同的设备上进行调试,它也更加万无一失。

    请注意,您不必添加包含 Gradle 符号文件的目录,因为调试器会自动使用它们。

    LLDB 启动命令

    添加您希望在调试器连接到进程之前执行的 LLDB 命令。例如,您可以定义环境设置,如以下命令所示

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

    LLDB 按从上到下的顺序执行命令。

    LLDB 连接后命令

    添加您希望在调试器连接到进程后立即执行的 LLDB 命令。例如

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

    LLDB 按从上到下的顺序执行命令。

    主机工作目录 指定 LLDB 工作目录。
    日志记录:目标通道

    指定 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

    或者,如果多个用户访问设备,它会将日志放置在以下位置,其中 AndroidUserId 是设备上用户的唯一标识符

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

    有关使用 LLDB 进行远程调试的信息,请参阅 远程调试

    启动前 请参阅定义启动前操作

    性能分析选项卡

    当您的设备运行 Android 7.1 或更低版本时,必须选中 **启用高级性能分析** 选项以启用 Android 性能分析器 中的某些功能。

    Android 测试

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

    注意:如果您使用 Firebase Test Lab 在各种设备上进行测试,您可以使用 Android JUnit 模板来定义您的 Instrumentation 测试。有关更多信息,请参阅 使用 Firebase Test Lab 运行您的测试

    以下选项卡说明涵盖了 Android Instrumentation 测试模板的选项卡和字段。有关 Android JUnit 测试模板的选项卡和字段的信息,请参阅 IntelliJ 运行/调试配置:JUnit 页面。

    常规选项卡

    在 **常规** 选项卡中,您可以指定测试位置、Instrumentation 运行器、adb shell 和部署选项。

    字段 描述
    模块 选择要将此配置应用于的模块
    测试

    在此区域中,指定您要运行的测试的位置

    • 模块中的所有 - 从选定的模块启动所有测试。
    • 包中的所有 - 从 **包** 字段中指定的包启动所有测试。输入名称,或单击 **更多** 从对话框中选择包。
    • - 启动 **类** 字段中指定的类的测试。输入名称,或单击 **更多** 从对话框中选择类。
    • 方法 - 启动测试方法。在 **类** 字段中,指定包含该方法的类。在 **方法** 字段中,指定该方法。输入名称,或单击 **更多** 从对话框中选择类或方法。
    特定 Instrumentation 运行器(可选) 输入 Instrumentation 运行器 的位置;单击 **更多** 以使用对话框。 build.gradle 文件指定 Instrumentation 运行器的位置;此值会覆盖它。默认值通常是来自 AndroidX TestAndroidJUnitRunner 类。
    额外选项

    键入您想要使用的任何 adb am instrument 选项。不要键入组件。例如,如果您使用来自 AndroidX Test AndroidJUnitRunner,则可以使用此字段将其他选项传递给运行器,例如 -e size small

    默认值:无选项

    部署目标选项:目标

    选择一个选项

    • 打开选择部署目标对话框 - 打开选择部署目标对话框以选择虚拟设备或硬件设备。
    • USB 设备 - 使用通过 USB 端口连接到开发计算机的硬件设备。如果有多个设备,则会显示一个对话框,供您选择。
    • 模拟器 - 使用虚拟设备。在配置中,您可以选择 AVD;否则,它只使用列表中的第一个 AVD。
    • Firebase Test Lab 设备矩阵 - 请参阅 使用 Firebase Test Lab 运行您的测试
    部署目标选项:对将来的启动使用同一设备 如果您希望将来自动使用您通过 **选择部署目标** 对话框选择的设备,请选择此选项。如果设备不可用,您将收到一个对话框。默认:未选中
    启动前 请参阅定义启动前操作

    杂项选项卡

    **杂项** 选项卡包含 logcat 和安装选项。

    字段 描述
    Logcat:启动前清除日志 如果您希望 Android Studio 在启动应用之前从日志文件中删除以前会话的数据,请选中此选项。默认值:未选中。
    安装选项:如果 APK 未更改,则跳过安装 选中此选项后,如果 Android Studio 检测到 APK 未更改,则不会重新部署 APK。如果您希望 Android Studio 强制安装 APK,即使它没有更改,也请取消选中此选项。默认值:已选中
    安装选项:在启动活动之前强制停止正在运行的应用程序

    如果选中,当 Android Studio 检测到不需要重新安装 APK,因为它没有更改时,它会强制停止应用,以便应用从默认启动器活动开始。如果取消选中此选项,Android Studio 不会强制停止应用。

    此选项与控制是否安装 APK 的先前选项一起使用。对于两个 **安装选项** 字段,请将它们保留为默认值,除非您明确希望每次都强制安装。

    在某些情况下,您可能希望取消选中此选项。例如,如果您正在编写输入法引擎 (IME),强制停止应用会取消选择它作为当前键盘,而这可能不是您想要的。

    默认值:已选中

    启动前 请参阅定义启动前操作

    调试器选项卡

    调试器选项卡中指定调试选项。

    对于 C 和 C++ 代码,Android Studio 使用 LLDB 调试器。除了正常的 Android Studio UI 之外,调试器窗口还有一个 **LLDB** 选项卡,允许您在调试期间输入 LLDB 命令。您可以输入 Android Studio 用于在调试器 UI 中显示信息的相同命令,并且可以执行其他操作。

    对于 C 和 C++ 项目,您可以在 **调试器** 选项卡中添加符号目录,以及 LLDB 启动和连接后命令。为此,您使用类似于以下内容的按钮

    • **添加** - 添加目录或命令。
    • **删除** - 选择目录或命令,然后单击此按钮以删除该项目。
    • **向上** - 选择目录或命令,然后单击此按钮以将该项目向上移动到列表中。
    • **向下** - 选择目录或命令,然后单击此按钮以将该项目向下移动到列表中。

    有关在 Android Studio 中调试的更多信息,请参阅 调试您的应用

    字段 描述
    调试类型

    选择以下选项之一

    • 仅 Java - 仅调试 Java 代码。
    • 自动检测 - 让 Android Studio 为您的项目选择最佳调试类型。
    • 仅本机 - 调试本机 C 或 C++ 代码。
    • 双重 (Java + 本机) - 在两个单独的调试会话中调试 Java 和本机代码。

    建议使用 **自动检测** 选项,因为它会为您的项目选择正确的调试类型。

    符号目录

    如果您想添加符号文件以向调试器提供在 Android Studio 之外生成的 C 或 C++ 信息,您可以在此处添加一个或多个目录。Android Studio 优先使用这些目录中的任何文件,而不是由 Android Gradle 插件 生成的文件。调试器从上到下按顺序搜索目录,直到找到它需要的内容。它递归地搜索目录中的文件。为了优化列表并节省时间,请将最常使用的目录放在列表的顶部。

    如果您在树中指定了一个上层目录,搜索所有子目录可能需要更长时间。如果您添加一个非常具体的目录,搜索所需的时间更短。您需要在速度和找到调试所需的所需文件之间找到适当的平衡。例如,如果您有一个包含针对不同 Android 二进制接口 (ABI) 的子目录的目录,您可以选择添加特定 ABI 的目录或所有 ABI 的目录。虽然搜索上层目录可能需要更长时间,但如果您决定在不同的设备上进行调试,它也更加万无一失。

    请注意,您不必添加包含 Gradle 符号文件的目录,因为调试器会自动使用它们。

    LLDB 启动命令

    添加您希望在调试器连接到进程之前执行的 LLDB 命令。例如,您可以定义环境设置,如以下命令所示

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

    LLDB 按从上到下的顺序执行命令。

    LLDB 连接后命令

    添加您希望在调试器连接到进程后立即执行的 LLDB 命令。例如

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

    LLDB 按从上到下的顺序执行命令。

    主机工作目录 指定 LLDB 工作目录。
    日志记录:目标通道

    指定 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

    或者,如果多个用户访问设备,它会将日志放置在以下位置,其中 AndroidUserId 是设备上用户的唯一标识符

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

    有关使用 LLDB 进行远程调试的信息,请参阅 远程调试

    启动前 请参阅定义启动前操作

    App Engine DevAppServer

    此运行/调试配置适用于 Google Cloud Platform。有关更多信息,请参阅 运行、测试和部署后端。当您按照这些步骤操作并将您的项目同步到 build.gradle 文件时,Android Studio 会为您创建一个 App Engine DevAppServer 配置。

    请注意,IntellJ IDEA App Engine 服务器 模板是一个不同的模板,在 Android Studio 中不可用。

    字段 描述
    仅单一实例 如果您希望确保当前仅执行运行/调试配置的一个实例,请选择此选项。它不允许同时运行同一配置的多个实例。默认:选中
    模块 选择要将此配置应用于的模块
    与 build.gradle 配置同步 如果您添加了 App Engine 模块并与 build.gradle 文件同步,则会为您填写 App Engine DevAppServer 配置字段(推荐)。选择 **文件 > 将项目与 Gradle 文件同步** 也会同步项目。默认:选中
    App Engine SDK 输入本地计算机上 适用于 Java 的 Google App Engine SDK 的路径。单击 **...** 从对话框中选择它。
    War 路径 输入您要部署到本地开发服务器上的应用程序的 Web 应用程序存档 (WAR) 目录的路径。单击 **...** 从对话框中选择它。
    VM 参数

    指定您希望传递给 VM 以启动 DevAppServer 的命令行选项。在指定选项时

    • 使用空格分隔不同的选项。
    • 对于包含空格的选项,请将空格括在引号 (" ") 中。
    • 如果选项包含引号,请在引号之前添加反斜杠 (\")。

    有关 VM 选项的更多信息,请参阅您的 J2SE 版本的文档,例如 java JDK 7java JDK 8

    默认值:无选项

    服务器地址 输入要用于服务器的 地址。您可能需要提供地址才能从网络上的其他计算机访问开发服务器。地址为 0.0.0.0 允许本地主机访问和主机名访问。默认:localhost
    服务器端口 输入要用于服务器的 端口 号。默认:8080
    禁用检查 App Engine SDK 更新 如果给出,开发服务器将 不会联系 App Engine 以检查 SDK 的新版本是否可用。默认情况下,服务器在启动时会检查新版本,如果存在新版本,则会打印消息。
    启动前 请参阅定义启动前操作

    Wear OS 运行/调试配置

    Wear OS 复杂功能、磁贴和手表表盘模板允许您在虚拟或硬件设备上运行或调试 Wear OS 应用。大多数模板配置选项与 Android 应用选项 相同。以下是更特定于 Wear OS 运行/调试配置的选项

    • 对于所有 Wear 运行/调试配置,您需要选择一个特定的复杂数据源、图块或表盘(取决于模板)来应用配置。通常,这些实体中的每一个都对应于您代码中的一个类。
    • 对于 Wear OS 复杂运行/调试配置,您必须选择要放置复杂数据源提供的复杂数据的插槽。您可以选择将其放在表盘的顶部、右侧、底部、左侧或背景中。
    • 对于 Wear OS 复杂运行/调试配置,您还必须选择复杂数据源提供的复杂数据的类型。您可以选择的类型仅限于由所选复杂数据源提供的并且所选插槽支持的类型。有关复杂数据类型的列表,请参阅类型和字段

    或者,您也可以从位于表面声明旁边的沟槽图标运行这些表面,如下面的图像所示。

    Run button in the gutter next to a WatchFaceService class.
    图 1. 使用沟槽图标直接运行 Wear OS 表面。