创建和修改运行/调试配置

在运行、调试或测试您的代码时,Android Studio 使用运行/调试配置确定如何执行操作。通常,默认配置足以运行或调试应用。不过,您可以修改配置和创建新配置,还可以修改默认模板,使其适合您的开发过程,如本页所述。

如需了解详情,另请参阅以下 IntelliJ 文档:

关于运行/调试配置

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

默认运行/调试配置

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

项目范围和版本控制

运行/调试配置和模板更改仅应用于当前项目。您可以通过版本控制系统共享运行/调试配置(而非模板)。如需详细了解如何共享配置,请参阅命名和共享配置选项

打开“Run/Debug Configurations”对话框

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

图 1. Run/Debug Configurations 对话框

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

在此对话框中,您可以:

创建新的运行/调试配置

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

“Run/Debug Configurations”对话框会显示您的运行/调试配置和可用的默认模板。您可以直接根据模板或从其他配置的副本开始定义新配置。然后,您可以根据需要更改字段值。

或者,您也可以在 Project 窗口中右键点击某个项,以自动创建该项专用的配置。例如,如果您要运行特定的 Activity,则可以右键点击相应的 Activity Java 文件,然后选择 Run。根据具体项,Android Studio 会使用 Android AppAndroid Instrumented TestsAndroid JUnit 默认模板来创建配置。

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

如果您不是在 Run/Debug Configurations 对话框中创建的配置,那么创建的配置是临时配置,除非您保存该配置。默认情况下,项目中最多可以包含五个临时配置,超出此限制后,Android Studio 将开始移除多余的配置。要更改此默认值,请在 Run/Debug Configurations 对话框中点击 Defaults 文件夹,然后在 Temporary Configurations Limit 字段中输入一个值。如需详细了解临时配置,请参阅创建和保存临时运行/调试配置

根据模板开始定义配置

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

  1. 打开“Run/Debug Configurations”对话框
  2. 点击 Add New Configuration 图标
  3. 选择一个默认模板
  4. Name 字段中输入一个名称。
  5. 根据需要修改配置。
  6. 请务必更正显示在此对话框底部的所有错误。

  7. 点击 ApplyOK

从副本开始定义配置

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

  1. 打开“Run/Debug Configurations”对话框
  2. 在左侧窗格中选择现有的运行/调试配置。
  3. 点击 Copy Configuration 图标
  4. Name 字段中输入一个名称。
  5. 根据需要修改配置。
  6. 请务必更正显示在此对话框底部的所有错误。

  7. 点击 ApplyOK

为项目中的项定义配置

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

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

  1. “Android”或“Project”视图中打开一个项目。
  2. Project 窗口中,右键点击某个可测试项,然后选择 Run <文件名>Debug <文件名>Android Studio 会创建一个临时的运行/调试配置并启动您的应用。
  3. 从工具栏的 Select Run/Debug Configuration 下拉列表中选择 Save。如果您未看到工具栏,请依次选择 View > Toolbar

图 2. 保存配置

注意:如果您右键点击并运行或调试同一项(但不是 Activity),Android Studio 会创建新配置。

为类或方法定义测试配置

在 Android Studio 中,您可以为某个类或方法定义测试运行配置,然后执行该配置。例如,如果创建一个新类,您可以为其创建和运行测试。如果测试通过,您随后可以对项目的其余部分运行测试,以确保新代码不会在其他地方造成任何问题。

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

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

  1. “Android”或“Project”视图中打开一个项目。
  2. 在代码编辑器中打开一个 Java 文件。
  3. 选择代码中的某个类或方法,然后按 Ctrl+Shift+T (Command+Shift+T) 键。
  4. 从显示的菜单中选择 Create New Test
  5. Create Test 对话框中,选择性地更改或设置值,然后点击 OK
  6. Choose Destination Directory 对话框中,选择您希望 Android Studio 将测试放置在项目中的什么位置。您可以按目录结构或通过选择相邻类来指定位置。
  7. 点击 OK

    新测试会显示在 Project 窗口中对应的测试源集内。

  8. 要运行测试,请执行以下某项操作:
    • Project 窗口中,右键点击测试,然后选择 RunDebug
    • 在代码编辑器中,右键点击测试文件中的某个类定义或方法名称,然后选择 RunDebug,以测试该类中的所有方法或仅测试该方法。
  9. 从工具栏的 Select Run/Debug Configuration 下拉列表中选择 Save

图 3. 保存配置

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

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

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

  1. 工具栏Select Run/Debug Configuration 下拉列表中选择该运行/调试配置。
  2. 该下拉列表位于 Run 图标 Debug 图标 左侧,例如

  3. 依次选择 Run > RunRun > Debug
  4. 或者,点击 Run 图标 Debug 图标

注意:在 Instant Run 会话期间,选择其他运行/调试配置,然后点击 Apply Changes 图标 ,将结束当前会话。

修改运行/调试配置

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

  1. 打开“Run/Debug Configurations”对话框
  2. 在左侧窗格中选择一个配置。
  3. 根据需要修改配置。
  4. 请务必更正显示在此对话框底部的所有错误。

  5. 点击 ApplyOK

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

您可以修改 Android Studio 提供的默认模板,使其适合您的开发过程。当您修改某个模板时,不会影响使用该模板的现有配置。例如,如果您需要创建某一类型的多个配置,您可以修改相应的模板,完成操作后再将其改回原样。

虽然您无法创建新模板,但可以创建与模板用途类似的配置。您可以复制配置并修改副本以创建新配置。

要修改模板,请按以下步骤操作:

  1. 打开“Run/Debug Configurations”对话框
  2. 展开 Defaults 文件夹,并选择一个默认模板
  3. 根据需要修改配置。
  4. 请务必更正显示在此对话框底部的所有错误。

  5. 点击 ApplyOK

对配置进行排序和分组

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

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

  1. 打开“Run/Debug Configurations”对话框
  2. 选择一个包含配置的文件夹。
  3. 点击 Sort Configurations 图标
  4. 点击 ApplyOK

要对文件夹中的配置进行分组,请按以下步骤操作:

  1. 打开“Run/Debug Configurations”对话框
  2. 选择一个包含配置的文件夹。
  3. 点击 Create New Folder 图标
  4. Folder Name 字段中输入一个名称。
  5. 将同一模板类别中的项目拖动到此文件夹中。
  6. 对同一模板类别中的文件夹和配置进行排序,方法是将其拖动到适当位置或使用 Move Up 图标 Move Down 图标 调整位置。
  7. 点击 ApplyOK

定义启动之前的操作

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

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

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

  1. Run/Debug Configurations 对话框底部的 Before launch 下方,点击 Add 图标 ,然后选择一种任务类型。如果打开一个对话框,请填写相应字段,然后点击 OK
  2. 根据需要添加更多任务。
  3. 要对任务进行排序,请选择一个任务并点击 Up 图标 Down 图标 ,以将其在列表中上移或下移。
  4. 如果您希望在应用运行/调试配置设置之前显示这些设置,请选中 Show this page

    默认情况下,此选项处于取消选中状态。

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

    默认情况下,此选项处于选中状态。

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

  1. 选择一个任务。
  2. 点击 Remove 图标

要修改任务,请按以下步骤操作:

  1. 选择一个任务。
  2. 点击 Edit 图标
  3. 在打开的对话框中修改任务设置,然后点击 OK

下表列出了可供添加的任务。

任务 说明
Run External tool 运行 Android Studio 外部应用。在 External Tools 对话框中,选择要运行的一个或多个应用,然后点击 OK。如果尚未在 Android Studio 中定义相应的应用,请在 Create Tools 对话框中添加其定义。如需了解详情,请参阅配置第三方工具外部工具
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 相同。
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 Studio 2.1.x 及更低版本具有 Native Application 模板,而更高的版本则没有该模板。如果您的项目中包含 Native Application 模板,当您加载该项目时,Android Studio 会将该模板转换为 Android App 模板。Convert Project 对话框会引导您完成整个过程。

不受支持的模板

以下不受支持的模板来自 IntelliJ IDEA,在使用 Android Studio 进行 Android 开发时不适用。如需了解如何使用这些模板,请点击 IntelliJ IDEA 文档的链接。

命名和共享配置选项

NameShare 选项仅适用于配置。当您创建配置时,应为其命名,如果要共享配置,还应勾选 Share 复选框。您无法命名和共享模板。

使用 Share 复选框可通过版本控制使运行/调试配置可供其他团队成员使用。如果您选中此选项,将项目签入版本控制系统后,当某个用户签出项目时,运行/调试配置将包含在内。

Android Studio 将共享的运行/调试配置存储在 project_directory/.idea/runConfigurations/ 文件夹下的各个 XML 文件中。如需了解详情,请参阅基于目录的项目格式

Android App

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

“General”标签

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

字段 说明
Module 选择要应用此配置的模块
Installation Options:Deploy

选择一个选项:

  • Default APK - 为您当前选择的变体编译和部署 APK。
  • APK from app bundle - 通过 Android App Bundle 编译和部署您的应用。也就是说,Android Studio 首先将您的应用项目转换为 app bundle,其中包含您应用的所有经过编译的代码和资源。然后,通过该 app bundle,Android Studio 生成将应用部署到连接的设备所需的 APK。通常,只有在测试想要上传到 Google Play 的 app bundle 时,您才使用此功能。这是因为,通过 app bundle 部署具有以下限制,您应予以考虑:
    • 通过 app bundle 部署时,Instant Run 不起作用。
    • Android Studio 编译系统必须先编译 app bundle,然后再使用它编译部署到应用的 APK,这会延长部署应用时的总编译时间。
  • 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 如果您的应用包含动态功能模块,请勾选部署您的应用时要包含的每项动态功能旁边的复选框。只有在您的应用包含动态功能时,您才会看到此选项。

注意:如果要按需测试下载和安装动态功能模块,您必须在发布 app bundle 后使用 Play 管理中心内部测试轨道进行测试。要了解详情,请阅读将您的 app bundle 上传到 Play 管理中心

Installation Options:Install Flags 输入您要使用的任何 adb pm install 选项。设置选项格式的方式与在命令行上相同,但不指定路径。下面是一些示例:

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

-d -r

默认:无选项。

Launch Options:Launch

选择一个选项:

  • Nothing - 当您选择“Run”或“Debug”时,什么都不启动。不过,如果您的应用已在运行且您选择了“Debug”,则 Android Studio 会将调试程序连接到您的应用进程。
  • Default Activity - 启动您在清单中标记为启动项的 Activity。例如:
    
        <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        
  • Specified Activity - 启动模块中特定的应用 Activity。选择此选项后,Activity 字段将显示在下方,您可以在其中输入要启动的 Activity 的名称,也可以点击 More 以从列表中选择一个 Activity。
  • URL - 启动与应用清单中的 intent 过滤器匹配的网址。选择此选项后,URL 字段将显示在下方,您可以在其中输入网址。

    您必须填写此字段才能启动 Android 免安装应用。您也可以使用此网址来测试您的 Android 应用链接

Launch Options:Launch Flags 输入您要使用的任何 adb am start 选项。设置选项格式的方式与在命令行上相同,但不指定 intent。例如:

-W

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

默认:无选项。

Deployment Target Options:Target

选择一个选项:

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

Deployment Target Options:Use same device for future launches

默认情况下,此选项处于取消选中状态,所以每次运行应用时,系统都会显示 Select Deployment 对话框,供您选择设备。如果您选中此选项,随后运行某个应用,系统将显示 Select Deployment 对话框,供您选择设备。然后,每次运行该应用时,它都会在您选择的设备上启动,而系统不会显示 Select Deployment 对话框。要在其他设备上运行该应用,要么取消选中 Use same device for future launches,要么依次点击 Run > Stop <应用> 或点击 Stop 图标 来停止该应用,然后再次启动它。系统将显示 Select Deployment 对话框,以便您可以选择设备。
Before Launch 请参阅定义启动之前的操作

“Miscellaneous”标签

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

字段 说明
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 不会强行停止应用。

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

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

默认:选中。

Before Launch 请参阅定义启动之前的操作

“Debugger”标签

Debugger 标签中指定调试选项。

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

对于 C 和 C++ 项目,您可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。为此,您可以使用与下面类似的按钮:

  • Add 按钮 - 添加一个目录或命令。
  • Remove 按钮 - 选择一个目录或命令,然后点击此按钮以移除该项。
  • Up 按钮 - 选择一个目录或命令,然后点击此按钮以将该项在列表中上移。
  • Down 按钮 - 选择一个目录或命令,然后点击此按钮以将该项在列表中下移。

如需详细了解如何在 Android Studio 中调试,请参阅调试您的应用

字段 说明
Debug type

选择以下某个选项:

  • Java - 仅调试 Java 代码。
  • Auto - 让 Android Studio 为您的项目选择最合适的调试类型。
  • Native - 调试原生 C 或 C++ 代码。
  • Dual - 在两个单独的调试会话中调试 Java 和原生代码。

建议选择 Auto 选项,因为 Android Studio 会为您的项目选择合适的调试类型。

Symbol Directories

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

如果您指定的目录在树中位于较高的位置,搜索所有子目录可能需要较长的时间。如果您添加非常具体的目录,搜索所需的时间会较短。您需要在速度和查找调试所需的文件之间寻求适当的平衡。例如,如果您的目录包含用于存放不同 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”标签

如果您的设备搭载的是 Android 7.1 或更低版本,则必须勾选 Enable advanced profiling 选项以启用 Android Profiler 中的某些功能。

Android Tests

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

注意:如果您使用 Firebase 测试实验室在各种设备上进行测试,您可以使用 Android JUnit 模板来定义插桩测试。如需了解详情,请参阅利用 Firebase 测试实验室运行测试

以下标签说明介绍了 Android Instrumented Tests 测试模板的标签和字段。如需了解 Android JUnit 测试模板的标签和字段,请参阅 IntelliJ 运行/调试配置:JUnit 页面。

“General”标签

General 标签中,您可以指定测试位置、插桩测试运行程序、adb shell 和部署选项。

字段 说明
Module 选择要应用此配置的模块
Test

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

  • All in module - 启动选定模块中的所有测试。
  • All in package - 启动在 Package 字段中指定的软件包中的所有测试。输入名称,或点击 More 以从对话框中选择软件包。
  • Class - 启动在 Class 字段中指定的类的测试。输入名称,或点击 More 以从对话框中选择类。
  • Method - 启动测试方法。在 Class 字段中,指定包含相应方法的类。在 Method 字段中,指定相应的方法。输入名称,或点击 More 以从对话框中选择类或方法。
Specific instrumentation runner (optional) 输入插桩测试运行程序的位置;点击 More 以使用对话框。build.gradle 文件指定插桩测试运行程序的位置;此值会替换该位置。默认值通常为 AndroidX Test 中的 AndroidJUnitRunner 类。
Extra options

输入您要使用的任何 adb am instrument 选项。请勿输入组件。例如,如果您正在使用 AndroidX Test 中的 AndroidJUnitRunner,则可以使用此字段将 -e size small 等其他选项传递给运行程序。

默认:无选项。

Deployment Target Options:Target

选择一个选项:

  • Open Select Deployment Target Dialog - 打开 Select Deployment Target 对话框,以选择虚拟或硬件设备。
  • USB Device - 使用通过 USB 端口连接到开发计算机的硬件设备。如果有多个 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 如果您希望 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 界面之外,调试程序窗口还有一个 LLDB 标签,让您可以在调试过程中输入 LLDB 命令。您可以输入 Android Studio 用于在调试程序界面中显示信息的相同命令,还可以执行其他操作。

对于 C 和 C++ 项目,您可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。为此,您可以使用与下面类似的按钮:

  • Add 按钮 - 添加一个目录或命令。
  • Remove 按钮 - 选择一个目录或命令,然后点击此按钮以移除该项。
  • Up 按钮 - 选择一个目录或命令,然后点击此按钮以将该项在列表中上移。
  • Down 按钮 - 选择一个目录或命令,然后点击此按钮以将该项在列表中下移。

如需详细了解如何在 Android Studio 中调试,请参阅调试您的应用

字段 说明
Debug type

选择以下某个选项:

  • Java - 仅调试 Java 代码。
  • Auto - 让 Android Studio 为您的项目选择最合适的调试类型。
  • Native - 调试原生 C 或 C++ 代码。
  • Dual - 在两个单独的调试会话中调试 Java 和原生代码。

建议选择 Auto 选项,因为 Android Studio 会为您的项目选择合适的调试类型。

Symbol Directories

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

如果您指定的目录在树中位于较高的位置,搜索所有子目录可能需要较长的时间。如果您添加非常具体的目录,搜索所需的时间会较短。您需要在速度和查找调试所需的文件之间寻求适当的平衡。例如,如果您的目录包含用于存放不同 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 请参阅定义启动之前的操作

App Engine DevAppServer

此运行/调试配置适用于 Google Cloud Platform。如需了解详情,请参阅运行、测试和部署后端。当您按照上述步骤进行操作并将项目同步到 build.gradle 文件后,Android Studio 将为您创建 App Engine DevAppServer 配置。

请注意,IntellJ IDEA App Engine Server 模板与此处介绍的模板不同,Android Studio 中未提供该模板。

字段 说明
Single instance only 如果要确保当前仅执行运行/调试配置的一个实例,请选中此选项。系统不允许同时运行同一配置的多个实例。默认:选中。
Module 选择要应用此配置的模块
Synchronize with build.gradle configuration 如果您添加 App Engine 模块并将其同步到 build.gradle 文件,系统会为您填充 App Engine DevAppServer 配置字段(推荐)。依次选择 File > Sync Project with Gradle Files 也会同步项目。默认:选中。
App Engine SDK 输入本地计算机上的适用于 Java 的 Google App Engine SDK 的路径。点击 ... 以从对话框中进行选择。
War Path 输入您正在本地开发服务器上部署的应用的 Web 应用归档 (WAR) 目录的路径。点击 ... 以从对话框中进行选择。
VM Args

指定您要传递给虚拟机以用于启动 DevAppServer 的命令行选项。指定选项时,应遵循以下规范:

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

如需详细了解虚拟机选项,请参阅适用于您的 J2SE 版本(如 java JDK 7java JDK 8)的文档。

默认:无选项。

Server Address 输入要用于服务器的主机地址。您可能需要提供相应地址,才能从网络上的其他计算机访问开发服务器。地址 0.0.0.0 既允许本地主机访问,又允许主机名访问。默认:本地主机。
Server Port 输入要用于服务器的端口号。默认:8080。
Disable Check for App Engine SDK Updates 如果指定此选项,开发服务器将不会与 App Engine 通信来检查是否有新的 SDK 版本。默认情况下,该服务器会在启动时检查是否有新版本,如果有新版本,会输出一条消息。
Before Launch 请参阅定义启动之前的操作