Android Studio 和 Android Gradle 插件的已知问题

此页面用于跟踪 Android Studio 和 Android Gradle 插件的已知问题。如果您遇到的问题不在此列表中,请提交错误报告

升级到预览版:Android Studio 和 Android Gradle 插件的每个版本都旨在提高稳定性和性能,并添加新功能。要立即体验即将发布的版本所带来的优势,请下载并安装 Android Studio 预览版

Android Studio 已知问题

本节描述 Android Studio 中存在的已知问题。

Android Studio Quail 1 并行 Gradle 同步执行问题

在 Android Studio Quail 1 中,gradle.properties 文件中的 org.gradle.parallel=true 属性不再在 Gradle 同步期间启用并行模型获取。这会导致大型项目的同步时间大幅延长。

要在 Quail 1 中启用并行同步,请在项目的 gradle.properties 文件中设置 org.gradle.tooling.parallel=true

Android Studio Panda 3 与 IntelliJ Develocity 插件 1.2.0 不兼容

使用 Develocity IDE 插件 v1.2.0 时,从 Android Studio Panda 3 Canary 1 开始,运行操作会失败并报以下错误(问题 #492439205

Found interface com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker$Request, but class was expected

Develocity 开发人员正在修复该新版本的问题。

解决方法:在插件的新版本修复此不兼容问题之前,禁用 Develocity IDE 插件 v1.2.0 即可解决该问题。

Kotlin 2.0:布局检查器 (Layout Inspector) 无法解析 Lambda 表达式

使用 Kotlin 2.0 时,无法解析 Lambda 表达式,并且布局检查器无法像往常一样导航到 Lambda 表达式的源代码。

解决方法:在修复此问题之前,请添加以下编译器选项作为替代方案

kotlin {
  compilerOptions {
    freeCompilerArgs.add("-Xlambdas=class")
  }
}

没有“Before launch”Gradle-aware Make 任务的运行配置会导致部署错误

Android Studio Ladybug Feature Drop Canary 9 中存在一个问题,导致使用该版本打开的项目丢失了运行配置信息。如果您曾在某个时间点使用该版本打开过项目,并且运行应用时出现“loading build artifacts”错误,请验证活跃的运行配置中是否包含“Before launch”部分下的“Gradle-aware Make”步骤。要验证这一点,请点击 Run/Debug Configurations > Edit Configurations,点击活跃的运行配置,并确认“Before launch”部分中存在“Gradle-aware Make”步骤。遗憾的是,Android Studio 无法自动修复此问题,因为某些运行配置可能是故意设置为没有“Gradle-aware Make”步骤的。

在 API 35 级别的设备或模拟器上,“Apply Changes & Restart Activity”无法重启 Activity

当您使用“Apply Changes & Restart Activity”将代码更改部署到 API 35 设备时,应用不会重启,您也无法看到更改的效果。如果您重新运行该应用程序,则会看到代码更改的效果。我们的团队正在积极调查此事。

Firebase 助手窗口显示错误消息

如果 Firebase 助手窗口(主菜单中的 Tools > Firebase)显示错误消息,请通过清除缓存并重启 Android Studio 来修复该错误。

无法使用布局检查器隔离视图

使用嵌入式布局检查器隔离视图的功能暂时不可用。我们正在努力在未来的版本中修复此问题。

使用布局检查器时,并非所有 Compose 节点都可以检查

如果您注意到在使用布局检查器时并非所有 Compose 节点都可以检查,这很可能是由于 Compose 1.5.0-alpha04 版本中已修复的错误所致。如果您遇到此问题,请确保升级到 Compose 1.5.0-alpha04 或更高版本。

渲染 Compose 预览时出错

从 Android Studio Chipmunk 开始,如果您在问题面板中看到 java.lang.NoSuchFieldError: view_tree_saved_state_registry_ownerjava.lang.ClassNotFoundException: androidx.savedstate.R$id,请确保在模块中添加对 androidx.lifecycle:lifecycle-viewmodel-savedstatedebugImplementation 依赖项。

如果您在问题面板中看到 java.lang.NoSuchFieldError: view_tree_lifecycle_owner,请确保在模块中添加对 androidx.lifecycle:lifecycle-runtimedebugImplementation 依赖项。

如果您在问题面板中看到 java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainerjava.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener,请确保在模块中添加对 androidx.customview:customview-poolingcontainerdebugImplementation 依赖项。

密钥和密钥库使用不同密码时出错

从 4.2 版本开始,Android Studio 运行在 JDK 11 上。此更新导致了与签名密钥相关的底层行为发生变化。

当您导航到 Build > Generate Signed Bundle / APK 并尝试为 App Bundle 或 APK 配置应用签名时,为密钥和密钥库输入不同的密码可能会导致以下错误

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

要解决此问题,请为密钥和密钥库输入相同的密码。

安装 4.2 版本后 Android Studio 无法启动

Studio 会尝试导入之前的 .vmoptions 并对其进行清理,以使其能够与 JDK 11 使用的垃圾回收器协同工作。如果该过程失败,对于在 .vmoptions 文件中设置了自定义 VM 选项的某些用户,IDE 可能无法启动。

为了解决此问题,我们建议注释掉 .vmoptions 中的自定义选项(使用“#”字符)。.vmoptions 文件位于以下位置

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

如果尝试此解决方法后 Studio 仍无法启动,请参阅下方的升级后 Studio 无法启动

使用数据库检查器的应用在 Android 11 模拟器上崩溃

使用数据库检查器的应用在 Android 11 模拟器上运行时可能会崩溃,并且 Logcat 中会出现类似以下内容的错误

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

要修复此问题,请通过导航到 Tools > SDK Manager 将您的 Android 11 模拟器升级到 9 或更高版本。在 SDK Platforms 选项卡中,选中 Show Package Details 复选框,并选择 Android 11 模拟器的第 9 修订版或更高版本。

升级后 Studio 无法启动

如果 Studio 在升级后无法启动,可能是因为从旧版 Android Studio 导入了无效的配置,或者存在不兼容的插件。作为解决方法,请尝试删除(或重命名以进行备份)下方的目录(具体取决于 Android Studio 版本和操作系统),然后再次启动 Android Studio。这会将 Android Studio 重置为默认状态,并移除所有第三方插件。

适用于 Android Studio 4.1 及更高版本

  • Windows: %APPDATA%\Google\AndroidStudio<version>
    示例: C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1

  • macOS: ~/Library/Application Support/Google/AndroidStudio<version>
    示例: ~/Library/Application Support/Google/AndroidStudio4.1

  • Linux: ~/.config/Google/AndroidStudio<version>~/.local/share/Google/AndroidStudio<version>
    示例: ~/.config/Google/AndroidStudio4.1~/.local/share/Google/AndroidStudio4.1

适用于 Android Studio 4.0 及更早版本

  • Windows: %HOMEPATH%\.AndroidStudio<version>\config
    示例: C:\Users\your_user_name\.AndroidStudio3.6\config

  • macOS: ~/Library/Preferences/AndroidStudio<version>
    示例: ~/Library/Preferences/AndroidStudio3.6

  • Linux: ~/.AndroidStudio<version>/config
    示例: ~/.AndroidStudio3.6/config

请注意,Android Studio 的 Canary 和 Beta 版本的配置目录对于 <version> 使用的是 PreviewX.Y 而不是 X.Y。例如,Android Studio 4.1 Canary 版本使用 AndroidStudioPreview4.1,而不是用于发布候选版 (RC) 和稳定版的 AndroidStudio4.1 目录。

Kotlin 多平台项目的编译问题

由于缺少符号,Kotlin MPP 代码中可能会出现编译错误。将 Kotlin 插件升级到 1.4 版本应该可以解决此问题。

Linux 上的键映射冲突

在 Linux 上,某些键盘快捷键与默认的 Linux 键盘快捷键以及热门窗口管理器(如 KDE 和 GNOME)的快捷键冲突。这些冲突的键盘快捷键在 Android Studio 中可能无法按预期工作。

有关此问题的更多信息(包括潜在的解决方法),请参见 IntelliJ 的错误跟踪器

ChromeOS 上的 UI 文字过小

在 ChromeOS 上,文字可能看起来比之前的版本小得多。要解决此问题,请执行以下操作

  1. 点击 File > Settings 打开 Settings 窗口
  2. 导航到 Appearance & Behavior > Appearance
  3. 选择 Use custom font
  4. 增大字体大小。
  5. Settings 窗口中,导航到 Editor > Font
  6. 增大字体大小。
  7. 点击 **OK**。

代码编辑

本节描述与代码编辑器相关的已知问题。

键盘输入冻结 - Linux 上的“iBus”问题

Linux 上的 iBus 守护进程与 Android Studio 之间存在一些已知的交互问题。在某些情况下,IDE 会停止响应键盘输入或开始输入随机字符。此错误是由 iBus 和 XLib + AWT 之间缺少同步引起的,已向上游反馈至 JetBrainsiBus。目前有三种针对此问题的解决方法

  • 解决方法 1:强制 iBus 进入同步模式。在启动 Android Studio 之前,在命令行中运行以下命令
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • 解决方法 2:禁用 Android Studio 中的 iBus 输入。要仅针对 Android Studio 禁用 iBus 输入,请在命令行中运行以下命令
    $ XMODIFIERS= ./bin/studio
    此解决方法仅会禁用 Android Studio 的输入法,不会影响您正在运行的其他应用程序。请注意,如果您在 Android Studio 运行时重启了守护进程(例如,通过运行 ibus-daemon -rd),您实际上会禁用所有其他应用程序的输入法,并可能导致 Android Studio 的 JVM 因分段错误而崩溃。
  • 解决方法 3:仔细检查快捷键绑定,确保 Next input shortcut 未设置为 Control+Space,因为这也是 Android Studio 中的代码补全快捷键。Ubuntu 14.04 (Trusty) 默认将 Super+Space 设置为快捷键,但以前版本的设置可能仍然存在。要检查快捷键绑定,请在命令行中运行 ibus-setup 以打开 IBus 首选项窗口。在 Keyboard Shortcuts 下,检查 Next input method。如果它设置为 Control+Space,请将其更改为 Super+Space 或您选择的其他快捷键。

项目配置

本节描述与项目配置和 Gradle 同步相关的已知问题。

Gradle 同步失败:管道损坏 (Broken Pipe)

此问题是因为 Gradle 守护进程正在尝试使用 IPv4 而不是 IPv6。

  • 解决方法 1:在 Linux 上,将以下内容放入您的 ~/.profile~/.bash_profile
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • 解决方法 2:在 Android Studio 的 vmoptions 文件中,将 -Djava.net.preferIPv4Addresses=true 行更改为 -Djava.net.preferIPv6Addresses=true。有关更多信息,请参阅 IPv6 网络用户指南

Gradle 同步或 SDK 管理器出现“peer not authenticated”错误

这些错误的根本原因是 $JAVA_HOME/jre/lib/certificates/cacerts 中缺少证书。要解决这些错误,请执行以下操作

  • 如果您在代理后面,请尝试直接连接。如果直接连接有效,则为了通过代理连接,您可能需要使用 keytool 将代理服务器的证书添加到 cacerts 文件中。
  • 重新安装一个受支持且未经修改的 JDK。有一个影响 Ubuntu 用户的已知问题,导致 /etc/ssl/certs/java/cacerts 为空。要解决此问题,请在命令行中执行以下操作
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

部署

本节描述与将应用部署到连接的设备相关的已知问题。

[仅限 Mac OS] 由于保存在 /System/Volumes/Data 下的项目中的 Gradle 文件监视问题,增量更新未应用

Gradle 问题 18149 影响 Android Gradle 插件 7.0 及更高版本,因为它们需要 Gradle 7.0 及更高版本。从 Gradle 7.0 开始,默认启用文件监视。如果您在 Mac OS 上工作,并且您的项目保存在 /System/Volumes/Data 下,Gradle 文件监视将无法正确跟踪文件更改。这将导致构建系统无法检测到任何文件更改,因此不会更新 APK。增量部署代码随后将不执行任何操作,因为本地 APK 状态与设备上的状态相同。

要解决此问题,您应该将项目目录移动到您的用户目录下,即 /Users/username 下。这样,Gradle 文件监视将能够正确通知构建系统有关文件更改的信息,从而成功应用增量更改。

macOS High Sierra 上的 Android Emulator HAXM

macOS High Sierra (10.13) 上的 Android 模拟器需要 HAXM 6.2.1+ 才能与 macOS 获得最佳兼容性和稳定性。但是,macOS 10.13 在安装内核扩展(例如 HAXM)时流程更为繁琐。您需要手动允许安装内核扩展,操作如下

  1. 首先,尝试从 SDK 管理器安装最新版本的 HAXM。
  2. 在 MacOS 中,转到 System Preferences > Security and Privacy
  3. 如果您看到一条警报,提示 System software from developer "Intel Corporation Apps" was blocked from loading,请点击 Allow

有关更多信息和解决方法,请参阅此 Apple 网页问题 62395878

Apply Changes

本节描述与 Apply Changes 相关的已知问题。

新的应用名称未应用

如果您重命名了应用然后尝试应用该更改,更新后的名称可能不会反映出来。要解决此问题,请点击 Run Run icon 重新部署您的应用以查看更改。

Android Runtime 中的问题导致报错

如果您使用的是运行 Android 8.0 或 8.1 的设备,在尝试应用某些类型的更改时(特别是如果您正在使用 Kotlin),可能会遇到“VERIFICATION_ERROR”消息。此消息是由 Android Runtime 中的一个问题引起的,该问题已在 Android 9.0 及更高版本中修复。虽然该问题导致 Apply Changes 失败,但您仍然可以再次 Run Run icon 您的应用以查看更改。不过,我们建议您将设备升级到 Android 9.0 或更高版本。

调试和测试

本节描述与调试和测试应用相关的已知问题。

从 Android Studio 运行时,JUnit 测试在类路径中缺少资源

如果您在 Java 模块中有特定的资源文件夹,那么从 IDE 运行测试时将找不到这些资源。使用命令行从 Gradle 运行测试将正常工作。从 IDE 执行 Gradle check 任务也能正常工作。有关详细信息,请参阅问题 64887

出现此问题是因为 IntelliJ 13 要求类路径中只能有一个文件夹。IntelliJ 的构建器将所有资源复制到该构建文件夹中,但 Gradle 不会复制这些资源。

  • 解决方法 1:从 IDE 运行 Gradle check 任务,而不是运行单元测试。
  • 解决方法 2:更新您的构建脚本,将资源手动复制到构建文件夹中。有关详细信息,请参阅评论 #13

运行 JUnit 测试可能会导致代码被编译两次

创建新项目时,模板 JUnit 配置可能会带有两个“Before launch”步骤:Make 和 Gradle-aware Make。此配置随后会传播到所有已创建的 JUnit 运行配置中。

  • 要修复当前项目的此问题,请点击 Run > Edit Configurations,并将默认 JUnit 配置更改为仅包含 Gradle-aware Make 步骤。
  • 要修复未来所有项目的此问题,请点击 File > Close Project。您应该会看到欢迎屏幕。然后点击 Configure > Project Defaults > Run Configurations,并将 JUnit 配置更改为仅包含 Gradle-aware Make 步骤。

某些测试运行配置不起作用

右键点击测试方法时可用的并非所有运行配置都是有效的。具体而言,以下配置无效

  • Gradle 运行配置(图标带有 Gradle 徽标)不起作用。
  • JUnit 运行配置(图标没有绿色 Android 机器人)不适用于仪器测试,因为仪器测试无法在本地 JVM 上运行。
Android Studio 还会记住在特定上下文中创建的运行配置(例如,右键点击特定类或方法),并且将来不会提供在其他配置中运行的选项。要修复此问题,请点击 Run > Edit Configurations 并删除错误创建的配置。

在调试原生代码时添加 Java 断点

当您的应用在原生代码的断点处暂停时,AutoDual 调试器可能无法立即识别您设置的新 Java 断点。为避免此问题,请在开始调试会话之前或应用在 Java 断点处暂停时添加 Java 断点。有关更多信息,请参阅问题 229949

从原生调试器中跳出

在使用 AutoDual 调试器调试 Java 和原生代码时,如果您 Java 代码步入原生函数(例如,调试器在调用原生函数的 Java 代码行暂停执行,而您点击了 Step Into ),并且想要返回 Java 代码,请点击 Resume Program (而不是 Step Out Step Over )。您的应用进程仍将处于暂停状态,因此请点击 your-module-java 选项卡中的 Resume Program 以恢复它。有关更多信息,请参阅问题 224385

原生调试器在加载库时挂起

升级到 Android Studio 4.2 及更高版本后首次使用原生调试器时,原生调试器在从 Android 设备加载库时可能会停止响应。这是一个顽固的问题,即使您停止并重启调试器,它也会持续发生。要解决此问题,请删除位于 $USER/.lldb/module-cache/ 的 LLDB 缓存。

原生调试器崩溃并显示“Debugger process finished with exit code 127”

此错误发生在基于 Linux 的平台上启动原生调试器时。它表明本地系统未安装原生调试器所需的某个库。缺少的库名称可能已打印在 idea.log 文件中。如果未打印,您可以使用终端导航到 Android Studio 安装目录并执行 bin/lldb/bin/LLDBFrontend --version 命令行以了解缺少哪些库。通常,缺少的库是 ncurses5,因为最近的一些 Linux 发行版已经升级到了 ncurses6

性能分析器 (Profilers)

本节描述性能分析器的已知问题。

原生内存性能分析器:应用启动期间无法进行分析

原生内存性能分析器目前在应用启动期间不可用。此选项将在即将发布的版本中提供。

作为替代方案,您可以使用 Perfetto 独立命令行性能分析器来捕获启动配置文件。

CPU 性能分析器中的超时错误

当您选择 Sample Java MethodsTrace Java Methods 配置时,可能会在 Android Studio CPU 性能分析器中遇到“Recording failed to stop”错误。这些通常是超时错误,尤其是如果您在 idea.log 文件中看到以下错误消息

Wait for ART trace file timed out

超时错误往往比采样方法更容易影响跟踪方法,并且较长的录制比较短的录制更容易受影响。作为临时解决方法,尝试进行较短的录制以查看错误是否消失可能会有帮助。

如果您遇到性能分析器的超时问题,请提交错误报告,其中包含您的设备型号以及 idea.log 和 logcat 中的任何相关条目。

调试或分析时的 ADB 异常

使用 Platform Tools 29.0.3 时,原生调试和 Android Studio 性能分析器可能无法正常工作,并且当您选择 Help > Show Log 时,可能会在 idea.log 文件中看到“AdbCommandRejectedException”或“Failed to connect port”。将 Platform Tools 升级到 29.0.4 或更高版本即可修复这两个问题。

要升级 Platform Tools,请执行以下操作

  1. 通过点击 Tools > SDK Manager 从 Android Studio 打开 SDK 管理器,或点击工具栏中的 SDK Manager
  2. 点击 Android SDK Platform-Tools 旁边的复选框,使其显示勾选标记。左列应该会出现一个下载图标
  3. 点击 ApplyOK

插件导致 Build Output 窗口无法工作

使用 CMake simple highlighter 插件会导致 Build Output 窗口中无法显示内容。构建会运行,Build Output 选项卡也会出现,但不会打印任何输出(问题 #204791544)。

安装顺序导致无法启动

在旧版本之前安装较新版本的 Android Studio 可能会导致旧版本无法启动。例如,如果您首先安装了 Canary 版本的 Android Studio,然后尝试安装并启动稳定版本,则稳定版本可能无法启动。在这种情况下,您必须清除缓存才能启动稳定(旧)版本。在 macOS 上,要清除缓存,请删除 Library/ApplicationSupport/Google/AndroidStudioversion_number 目录。在 Windows 上,要清除缓存,请使用磁盘清理

Espresso Test Recorder 不适用于 Compose

Espresso Test Recorder 不适用于包含 Compose 的项目。要为包含 Compose 的项目创建 UI 测试,请参阅测试 Compose 布局

Logcat 快捷键与非英语键盘布局冲突

如果您使用非英语键盘布局,默认的 Logcat 键盘快捷键可能会与该布局冲突,并阻止您在 Android Studio 中编辑文本时输入某些字符。要解决此问题,请删除或重新映射冲突的 Logcat 键映射。要在 Android Studio 中编辑 Logcat 键映射,请转到 Android Studio > Settings > Keymap 并在键映射列表中搜索 Logcat。有关更多信息,请参阅问题 #263475910

此问题将在 Android Studio Electric Eel Patch 1 中通过移除 Logcat 快捷键来解决。

Android Gradle 插件的已知问题

本节描述 Android Gradle 插件最新稳定版本中存在的已知问题。

并非所有动态功能库依赖项都会进行 lint 检查

从应用模块运行带有 checkDependencies = true 的 lint 时,除非动态功能库依赖项也是应用依赖项,否则不会对其进行检查(问题 #191977888)。作为替代方案,可以在这些库上运行 lint 任务。

文件名包含回车符的签名文件

JAR 签名(v1 方案)不支持包含回车符的文件名(问题 #63885809)。

构建时修改变体输出可能不起作用

使用 Variant API 来操作变体输出在新插件中已损坏。它仍然适用于简单的任务,例如在构建时更改 APK 名称,如下所示

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

但是,涉及访问 outputFile 对象的更复杂的任务不再起作用。这是因为变体特定的任务不再在配置阶段创建。这导致插件无法预先知道其所有输出,但也意味着更快的配置时间。

manifestOutputFile 不再可用

processManifest.manifestOutputFile() 方法不再可用,当您调用它时,会收到以下错误

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

与其调用 manifestOutputFile() 来获取每个变体的清单文件,不如调用 processManifest.manifestOutputDirectory() 来返回包含所有生成的清单的目录路径。然后,您可以定位清单并对其应用您的逻辑。下面的示例动态更改了清单中的版本代码

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

AGP 7.3.0 AIDL 支持与 Kotlin 1.7.x 的问题

将 AGP 7.3.0 与 Kotlin 1.7.x 中的 KAPT 一起使用会导致特定构建变体的 AIDL 源集被移除。您仍然可以使用其他 AIDL 源集,包括 main/、构建类型、产品变体以及产品变体的组合。如果您需要使用变体特定的 AIDL 源集,请继续使用 Kotlin 1.6.21。

已修复的已知问题

本节描述在近期版本中已修复的已知问题。如果您遇到这些问题,应该将 Android Studio 更新到最新的稳定版或预览版

在 Android Studio 2021.1.1 中修复

  • 缺少 lint 输出:当 lint 任务为 UP-TO-DATE 时,没有打印到 stdout 的 lint 文本输出(问题 #191897708)。已在 AGP 7.1.0-alpha05 中修复。
  • 使用 Hilt 插件的应用项目的单元测试问题:单元测试类路径包含非插桩的应用类,这意味着 Hilt 在运行单元测试时不会对应用类进行插桩以处理依赖项注入(问题 #213534628)。已在 AGP 7.1.1 中修复。

在 Android Studio 2020.3.1 中修复

  • Kotlin 项目中的 Lint 异常:设置了 checkDependencies = true 的 Kotlin 项目可能会遇到空指针异常或错误(问题 #158777858)。

在 Android Studio 4.2 中修复

  • macOS Big Sur 上的 IDE 冻结:打开对话框时,Android Studio 4.1 可能会冻结。

在 Android Studio 4.1 中修复

  • 重启以应用来自旧版本 IDE 的内存设置:更新 Android Studio 后,您需要重启 Android Studio 以应用从旧版 IDE 迁移过来的任何内存设置。
  • 默认不再生成带有自定义权限字符串的 Manifest 类:如果您想生成该类,请设置 android.generateManifestClass = true

在 Android Studio 3.6 中修复

  • LineageOS 上的 APK 安装错误:将应用部署到运行某些版本 LineageOS 或 CyanogenMod 的设备可能会失败并抛出 INSTALL_PARSE_FAILED_NOT_APK 异常。

    在 Android Studio 3.6 Beta 1 及更高版本中,IDE 通过在将应用部署到 LineageOS 或 CyanogenMod 设备时执行完整应用安装来处理此异常,这可能会导致部署时间延长。

在 Android Studio 3.5.2 中修复

  • XML 代码样式损坏:编辑 XML 代码时,当您从菜单栏选择 Code > Reformat Code 时,IDE 会应用不正确的代码样式。

在 Android Studio 3.3.1 中修复

  • 扫描 C++ 项目时出现内存不足错误:当 Gradle 扫描同一驱动器上多个位置都有 C++ 代码的项目时,扫描会包含第一个公共目录下的所有目录。扫描大量目录和文件可能会导致内存不足错误。

    有关此问题的更多信息,请阅读与该问题关联的错误报告