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

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

如需了解更多信息,另请参阅以下 IntelliJ 文档:

关于运行/调试配置

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

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

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

项目范围和版本控制

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

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

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

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

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

在此对话框中,您可以:

创建新的运行/调试配置

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

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

或者,您可以右键点击项目窗口中的某个项,以自动创建该项的特定配置。例如,如果要运行特定 activity,可以右键点击 activity 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. 保存配置

注意:如果您右键点击并运行或调试同一项(但不是 activity),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-aware Make 编译项目并运行 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 应用和 activity。

    通用标签页

    通用标签页中,您可以指定安装、启动和部署选项。杂项标签页也包含安装选项。

    字段 说明
    模块 选择一个模块以应用此配置。
    安装选项:部署

    选择一个选项:

    • 默认 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 会将调试器附加到您的应用进程。
    • 默认 Activity - 启动您在清单中标记为启动的 activity。例如:
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    • 指定 Activity - 启动模块中的特定应用 activity。选中后,下方会出现Activity字段,您可以在其中输入要启动的 activity 的名称,或点击更多从列表中选择 activity。
    • URL - 启动与应用清单中的 intent 过滤器匹配的 URL。选中后,下方会出现URL字段,您可以在其中输入 URL。

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

    启动选项:启动标志 键入要使用的任何 adb am start 选项。格式化选项的方式与命令行上的方式相同,但没有 intent。例如:

    -W

    如果您选择启动值为,则此选项不会出现。

    默认:无选项。

    部署目标选项:目标

    选择一个选项:

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

    部署目标选项:未来启动时使用相同设备

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

    杂项标签页

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

    字段 说明
    Logcat:自动显示 logcat 选中此选项后,每次您使用此配置成功部署和启动应用时,都会打开Logcat窗口。默认:选中。
    Logcat:启动前清空日志 如果您希望 Android Studio 在启动应用之前从日志文件中移除上一个会话的数据,请选择此选项。默认:未选中。
    安装选项:如果 APK 未更改,则跳过安装。 选中后,如果 Android Studio 检测到 APK 未更改,则不会重新部署您的 APK。如果您希望 Android Studio 强制安装 APK,即使它未更改,请取消选中此选项。默认:选中
    安装选项:在启动 activity 之前强制停止正在运行的应用程序

    如果选中此选项,当 Android Studio 检测到由于 APK 未更改而无需重新安装时,它会强制停止应用,以便应用从默认启动器 activity 启动。如果此选项未选中,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 Bug 报告。此默认值是:

    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 Profiler中启用某些功能。

    Android 测试

    您应使用的测试模板取决于您的源集。Android 仪器化测试模板用于仪器化测试。Android JUnit 模板用于本地单元测试。

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

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

    通用标签页

    通用标签页中,您可以指定测试位置、仪器化运行程序、adb shell 和部署选项。

    字段 说明
    模块 选择一个模块以应用此配置。
    测试

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

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

    键入要使用的任何 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,即使它未更改,请取消选中此选项。默认:选中
    安装选项:在启动 activity 之前强制停止正在运行的应用程序

    如果选中此选项,当 Android Studio 检测到由于 APK 未更改而无需重新安装时,它会强制停止应用,以便应用从默认启动器 activity 启动。如果此选项未选中,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 Bug 报告。此默认值是:

    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 键入本地计算机上 Google App Engine SDK for Java 的路径。点击...从对话框中选择它。
    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 Complication、Tile 和 Watch Face 模板允许您在虚拟或硬件设备上运行或调试 Wear OS 应用。大多数模板配置选项与Android 应用选项相同。以下是 Wear OS 运行/调试配置更具体的选项:

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

    或者,您也可以从位于表面声明旁边的装订线图标运行这些表面,如下图所示。如果出现错误,例如“设置 Tile 时出错”,请检查您是否已正确配置表面,包括在清单中声明表面

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