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

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

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

关于运行/调试配置

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

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

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

项目范围和版本控制

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

打开“Run/Debug Configurations”对话框

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

图 1. Run/Debug Configurations 对话框

对话框的左侧面板会按模板类型对您定义的配置进行分组,并能让您在底部修改配置模板。您可以在右侧面板中修改所选配置,也可以调整对话框大小来查看隐藏的项。

在此对话框中,您可以:

创建新的运行/调试配置

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

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

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

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

如果您不是在 Run/Debug Configurations 对话框中创建的配置,那么创建的配置是临时配置,除非您保存该配置。默认情况下,项目中最多可以包含五个临时配置,超出此限制后,Android Studio 将开始移除多余的配置。如需更改此默认限制,请打开 Android Studio 设置,然后依次前往 Advanced Settings > Run/Debug > 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 filenameDebug filename。 Android Studio 会创建一个临时的运行/调试配置并启动您的应用。
  3. 打开工具栏中的 Select Run/Debug Configuration 下拉列表。
  4. 从要保存的配置旁边的选项中选择 Save Configuration

    图 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. 点击确定

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

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

    图 3. 保存配置

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

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

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

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

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

修改运行/调试配置

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

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

  5. 点击 ApplyOK

修改运行/调试配置模板

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

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

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

  1. 打开“Run/Debug Configurations”对话框
  2. 点击 Edit configuration templates...
  3. 选择一个配置模板。
  4. 根据需要修改配置。
  5. 请务必更正在此对话框底部显示的所有错误。

  6. 点击 ApplyOK

对配置进行排序和分组

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

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

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

如需将配置分组至文件夹,请按以下步骤操作:

  1. 打开“Run/Debug Configurations”对话框
  2. 选择一个包含配置的文件夹。
  3. 点击 Create New Folder 图标
  4. Folder Name 字段中输入一个名称。
  5. 点击 Apply 以保存名称。
  • 将同一模板类别中的项拖动到此文件夹中。
  • 对同一模板类别中的文件夹和配置进行排序,方法是将其拖动到适当位置。
  • 点击 OK 以关闭对话框。
  • 定义启动之前的操作

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

    注意:定义启动之前的任务是一项高级功能。我们建议您不要使用此功能,而应将任何准备逻辑作为任务添加到 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 对话框中添加其定义。如需了解详情,请参阅配置第三方工具外部工具
    运行另一个配置 执行某个现有的运行/调试配置。在 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 应用模板。 Convert Project 对话框会引导您完成整个过程。

    不受支持的模板

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

    通用配置选项

    NameAllow parallel runStore as project file 选项是多个配置模板通用的选项。如需详细了解这些选项,请参阅常用设置

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

    Android 应用

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

    “General”标签页

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

    字段 说明
    模块 选择要应用此配置的模块
    安装选项:部署

    选择一个选项:

    • 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 进行安装。
    安装选项:部署为免安装应用 如果您的应用支持免安装体验(也就是说,您在创建新项目时添加了对免安装应用的支持,或者您创建了一个或多个支持免安装体验的功能模块),您可以选择部署这些支持免安装体验的模块,方法是勾选 Deploy as instant app 旁边的复选框。
    Installation Options: Features to deploy 如果您的应用包含功能模块,在部署应用时,请选中要包含的每个功能旁边的复选框。只有在应用包含功能模块时,您才会看到此选项。

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

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

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

    -d -r

    默认:无选项。

    Launch Options:Launch

    选择一个选项:

    • Nothing - 当您选择 RunDebug 时,不启动任何内容。 不过,如果您的应用已在运行且您选择了 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 app 或选择 Stop 图标 来停止应用,然后重新启动。系统将显示 Select Deployment 对话框,以便您可以选择设备。
    发布前 请参阅定义启动之前的操作

    “Miscellaneous”标签页

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

    字段 说明
    Logcat:Show logcat automatically 选中此选项后,每次使用此配置成功部署和启动应用时,系统都会打开 Logcat 窗口。默认:选中。
    Logcat:Clear log before launch 如果您希望 Android Studio 在启动应用之前从日志文件中移除之前会话的数据,请选中此选项。默认:取消选中。
    安装选项:如果 APK 未更改,则跳过安装。 选中此选项后,如果 Android Studio 检测到您的 APK 未更改,将不会重新部署 APK。 如果您希望 Android Studio 即使在 APK 未更改的情况下仍强行安装 APK,请取消选中此选项。默认:选中。
    安装选项:在启动 activity 之前强制停止正在运行的应用

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

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

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

    默认:选中。

    发布前 请参阅定义启动之前的操作

    “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 only - 仅调试 Java 代码。
    • Detect Automatically - 让 Android Studio 为您的项目选择最合适的调试类型。
    • Native Only - 调试原生 C 或 C++ 代码。
    • Dual (Java + Native) - 在两个单独的调试会话中调试 Java 和原生代码。

    建议选择 Detect Automatically 选项,因为这样系统会为您的项目选择合适的调试类型。

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

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

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

    如需了解如何使用 LLDB 进行远程调试,请参阅远程调试

    发布前 请参阅定义启动之前的操作

    “Profiling”标签页

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

    Android 测试

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

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

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

    “General”标签页

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

    字段 说明
    模块 选择要应用此配置的模块
    测试

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

    • All in module - 启动所选模块中的所有测试。
    • All in package - 启动在 Package 字段中指定的软件包中的所有测试。输入名称,或点击 More 以从对话框中选择软件包。
    • Class - 启动在 Class 字段中指定的类包含的测试。输入名称,或点击 More 以从对话框中选择类。
    • Method - 启动测试方法。在 Class 字段中,指定包含相应方法的类。在 Method 字段中,指定相应的方法。输入名称,或点击 More 以从对话框中选择类或方法。
    特定的插桩测试运行程序(可选) 输入插桩测试运行程序的位置;点击 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 Test Lab 运行测试
    Deployment Target Options:Use same device for future launches 如果您希望以后自动使用您通过 Select Deployment Target 对话框选择的设备,请选中此选项。如果相应设备不可用,系统将显示一个对话框。默认:取消选中。
    发布前 请参阅定义启动之前的操作

    “Miscellaneous”标签页

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

    字段 说明
    Logcat:Clear log before launch 如果您希望 Android Studio 在启动应用之前从日志文件中移除之前会话的数据,请选中此选项。默认:取消选中。
    安装选项:如果 APK 未更改,跳过安装 选中此选项后,如果 Android Studio 检测到您的 APK 未更改,将不会重新部署 APK。如果您希望 Android Studio 即使在 APK 未更改的情况下仍强行安装 APK,请取消选中此选项。默认:选中。
    安装选项:在启动 activity 之前强制停止正在运行的应用

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

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

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

    默认:选中。

    发布前 请参阅定义启动之前的操作

    “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 only - 仅调试 Java 代码。
    • Detect Automatically - 让 Android Studio 为您的项目选择最合适的调试类型。
    • Native Only - 调试原生 C 或 C++ 代码。
    • Dual (Java + Native) - 在两个单独的调试会话中调试 Java 和原生代码。

    建议选择 Detect Automatically 选项,因为这样系统会为您的项目选择合适的调试类型。

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

    或者,如果多名用户访问设备,Android Studio 会将日志置于下面的位置,其中 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 Server 模板与此处介绍的模板不同,Android Studio 中未提供该模板。

    字段 说明
    仅限单个实例 如果要确保当前仅执行运行/调试配置的一个实例,请选中此选项。系统不允许同时运行同一配置的多个实例。默认:选中。
    模块 选择要应用此配置的模块
    Synchronize with build.gradle configuration 如果您添加 App 引擎模块并将其同步到 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。
    停用 App Engine SDK 更新检查 如果指定此选项,开发服务器不会联系 App Engine 来检查有没有新的 SDK 版本。默认情况下,服务器会在启动时检查新版本,如果有新版本,则输出消息。
    发布前 请参阅定义启动之前的操作

    Wear OS 运行/调试配置

    借助 Wear OS 复杂功能、卡片和表盘模板,您可以在虚拟或硬件设备上运行或调试 Wear OS 应用。大多数模板配置选项与 Android 应用选项相同。以下是相对更特定于 Wear OS 运行/调试配置的选项:

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

    或者,您也可以通过 Surface 声明旁的边线图标运行这些 Surface,如下图所示。

    边线中位于 WatchFaceService 类旁边的运行按钮。
    图 1. 直接使用边线图标运行 Wear OS Surface。