Android Studio 2021.3.1 已解决的问题

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Android Studio Dolphin Patch 1 (2021.3.1.17)

与以下内容一起发布:
  • Android Gradle 插件 7.3.1
已修复的问题
Android Gradle 插件
通过 Gradle 运行插桩 Android 测试时,无法正确应用脱糖
AGP 7.3.0 会破坏 Gradle 平台项目的 Gradle 同步
Dexer (D8)
添加了一个公共 API,用于在合并 DEX 时解决冲突(针对 Bazel,以允许包含重复的类)
导入/同步
从 Chipmunk 补丁 2 (2021.2.1) 升级后,Gradle 项目导入失败
资源
AarResourceRepositoryCache.createCachingData (AS Dolphin+) 中的 NPE
缩减器 (R8)
在类型替换字段时,系统不复制 Kotlin 元数据
不精确类型发生意外转换:TOP(全部)
Gradle 7.3.0 导致 APK build 错误 com.android.tools.r8.CompilationFailedException
在兼容模式下移除已终止的默认构造函数。
与 JetBrains Markdown 冲突
支持 ThreadLocal.withInitial(java.util.function.Supplier)
AGP 7.3 为包含已损坏的构造函数的类生成 dex
意外尝试确定非 CF 代码是否需要脱糖
ktor VerifyError
处理 okio-jvm 3.2.0 时抛出编译期间遇到的未定义值
包含间接 instance-of 使用方的类内嵌对象导致编译失败
R8 3.3.75 存在 java.lang.IllegalAccessError

Android Studio Dolphin RC 1 (2021.3.1.14)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-rc01
已修复的问题
Android Gradle 插件
访问 onVariant 中的变体源代码会导致标准 Android 源代码(如 buildconfig)消失
AGP 7.1-beta04 缺少 com.android.build.api.dsl.Lint API 且/或包含误导性 kdoc
AGP 忽略 7.3.0-alpha08 中的 jniLibs 替换
Compose 预览
应用模块中的 Compose 预览功能未能在多模块项目中找到资源
Dexer (D8)
记录每个脱糖库版本所需的编译器版本
模拟器
AS Electric Eel Canary 2 - 错误:在设备连接助理上按“Finish”时不起任何作用
Gradle 文件编辑器
有关 buildToolsVersion 过低的警告不准确
导入/同步
单元测试源代码的编辑器无法解析其他模块中声明的字符串资源
代码检查似乎不起作用。
KTIJ-22303:Mpp 和 Kotlin 模型的 cacheOriginIdentifier 不一致
Logcat
Logcat 格式设置未能持久保留
新的 Logcat 在前 2 秒后未显示日志
缩减器 (R8)
IntSwitch 中的 ArrayIndexOutOfBoundsException
R8:AGP 7.3.0-beta02 和 7.4.0-alpha03 上出现 NullPointerException
[R8 3.3.61] NoClassInitializerCycles 中出现 StackOverflowError
缩减器 R8 版本 3.2.60 中的 NPE
[R8 3.3.57] 出现 NoClassDefFound 错误,因为接口已替换为具有更高 SDK 要求的抽象类

Android Studio Dolphin Beta 5 (2021.3.1.14)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-beta05
已修复的问题
Android Gradle 插件
AGP 7.2 com.android.test 模块无法访问 com.android.app 模块的 test fixture 类
ART
[R8 3.3.40] 在 Android 8 设备上,dex2oat speed-profile 调用好像会挂起
build 变体
变体切换器有时永不结束运行
导入/同步
在构建期间切换变体的操作永不结束
缩减器 (R8)
R8 3.1.7-dev 及更高版本对枚举进行不当优化,导致出现 NoSuchFieldError
使用 R8 3.3 生成转储时出现 NullPointerException
AssertionError:无法计算未设置的关系
[R8 3.3.57] 出现 NoClassDefFound 错误,因为接口已替换为具有更高 SDK 要求的抽象类

Android Studio Dolphin Beta 4 (2021.3.1.13)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-beta04
已修复的问题
Android Gradle 插件
lint 在 Kotlin 1.7.0-RC2 build 中运行时崩溃
ART
[R8 3.3.40] 在 Android 8 设备上,dex2oat speed-profile 调用好像会挂起
导入/同步
在新版本中,当存在多个产品变种 (flavour) 时发生 build 问题
Logcat
AndroidLogcatService 包含的 9000 个 DeviceImpl 占用了 2GB 内存
缩减器 (R8)
在 Android API 版本 25 以下使用 R8 - 3.3.28 时出现 IncompatibleClassChangeError
Gradle 7.2.0 导致 APK build 错误 com.android.tools.r8.CompilationFailedException

Android Studio Dolphin Beta 3 (2021.3.1.12)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-beta03
已修复的问题
Android Gradle 插件
processReleaseManifest:误报在源代码 AndroidManifest.xml 中发现软件包
将 dokka-core 设置为编译时依赖项,并在运行时加载它
AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
Compose 预览
在 FastPreviewManager 中 ComposePreviewRePresentations 通过消息总线连接泄漏
更新程序
M1 上的修补程序不适用于 EE c1 到 EE c2

Android Studio Dolphin Beta 2 (2021.3.1.11)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-beta02
已修复的问题
Android App Bundle
bundletool 未正确封装基准配置文件
Android Gradle 插件
与 ASM API 一起使用时,AndroidGradlePlugin 版本 7.2 会破坏转换 API
Android Studio BumbleBee 并非总是部署最新的更改
转换 AAR 工件会将最终输出置于“intermediates”下
设计工具
按下 Ctrl+D 键或“show diff”按钮不显示 git diff
Dexer (D8)
通过 AGP 在 D8/R8 中显式启用缺失的 API 建模功能
避免将版本与预发布脱糖库一起使用
导入/同步
循环 POM 依赖项会破坏项目导入
使用 Android Gradle 插件 7.2.0 时会提示“Duplicate content roots detected”
lint
AGP 7.2.0 中的 lint 会在 ApiDetector 检查中挂起
InconsistentLayout 不遵循基准
[Lint] 当代码跨模块时,错误资源类型检测器在有效代码中发现了错误
运行
即使应用模块可用,“Devices”选项也不显示且无法运行该应用。
缩减器 (R8)
[R8 3.3.40] 由于对不存在的方法进行超调用而产生 NoSuchMethodError
规范转换期间脱糖库中出现 NullPointerException
使用 3.3.35 时 FieldAssignmentTracker 中出现 NullPointerException
[R8 3.3.31] IncompleteHorizontalClassMergeCode 无法访问的异常
R8 导致在 Scala 库上出现 VerifyError

Android Studio Dolphin Beta 1 (2021.3.1.10)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-beta01
已修复的问题
Android Gradle 插件
向 lint 模型添加了脱糖方法
Dexer (D8)
版本 8 之前的 Art/Dalvik 虚拟机不支持 JDK-8272564 的修复
模拟器
Android Studio Bumblebee 中不再提供停用剪贴板共享功能的选项,因此无法关闭此功能
lint
在 lint 中添加了 --offline 标志
缩减器 (R8)
R8 3.3.28 通过在方法正文中放入“throw NPE”,破坏可访问的方法。
保留类的构造函数会在 Proguard 兼容模式下抛出 NPE

Android Studio Dolphin Canary 9 (2021.3.1.9)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha09
已修复的问题
Android Gradle 插件
未能获取所请求的系统映像时出现的“相似”系统映像并_不_相似
自动化测试设备:下载的系统映像不正确?或者,运行的系统映像不正确?
没有更高版本的插件时显示“建议使用更高版本的 Android Gradle 插件”
如果找不到兼容的设备类型,Gradle 管理的设备应提供兼容的设备类型
AndroidManifest.xml 中缺少“package”属性时 kotlin-android-extensions 插件会发生错误
设备类型/映像类型不匹配错误不方便用户查看
Gradle 管理的设备在磁盘上的位置
Build Analyzer
Build Analyzer 的 jetifier 分析结果显示 androidx 数据绑定需要 jetifier
设备管理器
“Stop device”菜单已从设备管理器上下文菜单中消失。
模拟器
工具窗口模拟器错误
Gradle
使用 Import Alias 时 lint UnusedResources 出现假正例
导入/同步
无法将项目与 Chipmunk 中采用 MPSS 的 KMP 模块同步
Kotlin 1.6.20 破坏了 KMP 模块依赖项
“LicenseNotacceptException”不可操作?
组合 build 中的模块未在 IDE 中导入
Logcat
Logcat 与设备的连接已断开
导航
包含不同 aar 模块的导航图破坏了为深层链接生成 AndroidManifest.xml intent 过滤器的过程
资源
bug:选择转到资源的“实现”部分并不会转到任何地方
SDK 管理器
如果 /tmp 是符号链接,SDK 更新将不起作用
SDK 管理器应停止将垃圾日志信息发送到 stdout

Android Studio Dolphin Canary 8 (2021.3.1.8)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha08
已修复的问题
Android Gradle 插件
AGP 7.1.1 依赖于有漏洞的 Netty 版本
R8 报告的重复类问题
AGP 7.1.1 不会生成已停用资源处理的 RenderScript 类
针对变体派生的配置实现 api/annotationProcessor/integrationsolutionStrategy
MergeSourceSetFolders 启动的工作器操作过多
Gradle 管理的虚拟设备在 CI 中失败 (GitHub Actions)
与 android.defaultConfig.ndk.debugSymbolLevel 相关的问题
“debug”build 类型具有默认签名密钥,其他类型则没有
STRING_TOO_LARGE 构建流程应失败
APK 查看器
如果出现问题,APK 分析器不应显示“已成功加载”
AVD 管理器
即使已传递 --silent 标志,avdmanager 也会询问“您想创建自定义硬件配置文件吗?”
可以将 Android TV AVD 设置为竖屏
Android Studio 2.0:修改虚拟设备会还原自定义皮肤选择
AVD 无法在 AVD 选择对话框中正确显示电视横屏布局
2.7 英寸 QVGA 设备在设备列表中显示“ldpi”,而非“mdpi”,设计和测试之间的大小误差为 33%
Android Studio 不支持 200dpi 的模拟器密度
选择系统映像时,如果窗口太窄,下载链接会隐藏
代码编辑器
SQLite 语法突出显示问题 -“SELECT”不能后跟“REPLACE”
布局编辑器中的自动补全 ID 会使用错误的字符串填充字段
ProGuard 规则中的类名称无法解析
设备管理器
在 AVD 管理器中保留模拟器排序
在 AS 中重命名 AVD 后,设备管理器会在错误消息中显示错误路径
删除虚拟设备时 Android Studio 会挂起
SkinLayoutDefinition.parseFile 中出现 IllegalArgumentException
编辑
AIDL 文件中存在虚假语法错误
模拟器
Android Studio 托管的模拟器:针对虚拟场景导航的 AZERTY 键盘兼容性
Firebase
Firebase Assistant 无法加载
首次启动
WindowsPerformanceHintsChecker 中出现 IOException
Gradle 文件编辑器
关于版本目录的警告应该更加明确
导入/同步
无法将项目与 Chipmunk 中采用 MPSS 的 KMP 模块同步
Chipmunk Studio 中的 AGP 7.3.0-alpha01 无法与 Gradle 文件同步
安装程序
Android Studio 小 bug
Chipmunk Beta 1:设置向导无法正确计算下载大小
lint
Lint 设置在 source-set-per-module 场景中已损坏
NewApi 检查不会处理新的继承接口情况
[lint]“回收”检测器错误地将动画标记为未启动
lint 集成
由于 `lint.jar` 中的时间戳差异,AndroidLintAnalysisTask 会导致缓存未命中
Logcat
Logcat 自动滚动至末尾
清除 logcat 缓冲区会破坏 logcat
关闭然后重新打开 Logcat 后,它会停止工作
Motion Editor
放大系统字体时,动画检查器按钮显示为“>>”(溢出)
新代码/模板
Android Studio 新项目向导仍在对“Fragment + ViewModel”使用已废弃的函数“onActivityCreated”
新的 C++ 项目 build 文件包含重复的 externalNativeBuild 代码块
资源
Image Asset > Confirm Icon Path > Res Directory 中的无序列表
bug:选择转到资源的“实现”部分并不会转到任何地方
使用撇号(甚至是 ')而不用反斜杠转义时,XML 编辑器不会发出警告,从而导致 Gradle 失败
运行
运行时提供清晰的数据
运行测试
单元测试结果未显示在 Dolphin 中
为单元测试添加更多测试覆盖率
插桩测试失败,并显示“在根项目‘X’中找不到项目‘X’”错误消息。
SDK 管理器
sdkmanager double 依赖项问题
每次更新 AS 都会出现未解决的新 bug :|
如果 /tmp 是符号链接,SDK 更新将不起作用
AVDManager -“错误:软件包路径无效。有效的系统映像路径为 ository…”
如果仅安装较新的命令行工具软件包,AGP 会下载 SDK 工具软件包
SDK 管理器不在“工具”菜单中,SDK 许可未被接受,无法继续
测试
Windows 上的设备配置错误导致 GMD 测试失败

Android Studio Dolphin Canary 7 (2021.3.1.7)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha07
已修复的问题
Android Gradle 插件
向 R8 添加了工作器
向 lint 模型添加了脱糖方法
导入/同步
IDE 中存在“Gradle build 模型”加载问题
lint
lint IconMissingDensityFolder 消息在 lint-baseline.xml 中使用绝对路径
将 VersionChecks 移至 API 软件包,以提高可见性
lint 的 NewApi 检查不处理 Kotlin 中的“when”语句

Android Studio Dolphin Canary 6 (2021.3.1.6)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha06
已修复的问题
Android Gradle 插件
org.bouncycastle:bcprov-jdk15on:1.56 中的严重漏洞
移除了 AndroidLintAnalysisTask 的基准文件输入
自动化测试设备:下载的系统映像不正确?或者,运行的系统映像不正确?
停止在 AGP 7.2 中包含来自 .android/lint 的 lint 规则 JAR
向 lint 模型添加了脱糖方法
Benchmark
无法构建 Android Studio Microbenchmark 模板
C++ build
使用 AGP 4.0.0 时,externalNativeBuildClean 也会运行 preBuild
Find Usages
转到声明对 @animator/foo 不起作用(可能是动画矢量下的任何内容)
Macrobenchmark
Macrobenchmark 模板缺少 .gitignore
ExampleStartupBenchmark 文档引用错误的属性
Macrobenchmark 模板 matchingFallbacks 及 profileable
Macrobenchmark 模板 minSdk 错误
ExampleStartupBenchmark 使用不存在的 CompilationMode.SpeedProfile

Android Studio Dolphin Canary 5 (2021.3.1.5)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha05
已修复的问题
Android Gradle 插件
如果设备端测试无法运行,测试会静默失败
Android studio 2021.1.1 beta5. Gradle 同步失败,并显示“无法加载类‘com.android.build.api.extension.AndroidComponentsExtension’”。
AGP 7.2.0-alpha05 会中断使用 Navigation Safe Args 插件的 build
无效 values.xml 文件存在模糊错误
Compose 编辑
执行“导入自动补全”操作时,系统改为执行“输入补全”操作
模拟器
UnsatisfiedLinkError:找不到 image_converter.dll
布局编辑器
bug:布局中有其他错误空间。在任意视图中点按布局设计会导致布局文本的格式发生变化
lint
bug:将字符串模板用作 getString 函数的参数时,系统不将该字符串模板视为字符串
导航
Safe Args 将已废弃的 getApplicationIdTextResource 与 AGP 4.1 及更高版本一起使用
SafeArgs 2.4.0-rc01 和 AGP 7.1.0-rc01 不兼容
Network Inspector
TrackedHttpURLConnection.getHeaderField 崩溃并发生 NullPointerException
在最新版本的 Android Studio 上连接调试程序时,我总是遇到这个错误。
Bumblebee 更新后,新的 Network Inspector 发生崩溃
资源
如果字符串资源以“@string/string_name”引用开头,后跟空格和任何其他文本,则会出现意外的“资源名称必须以字符开头”错误
运行测试
单元测试结果未显示在 Dolphin 中

Android Studio Dolphin Canary 4 (2021.3.1.4)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha04
已修复的问题
Android Gradle 插件
添加了对预览 minCompileSdk 库的支持
使用 manifest.srcFile 时收到“Java 文件在源代码根目录之外”消息
在设备设置期间,当多于一个子项目声明占有同一设备时会发生冲突
提高 CheckAarMetadataTask 错误消息的可读性
如果缺少 ProjectComponentIdentifier.build,AGP 不应使用 ProjectComponentIdentifier.projectPath
从 7.0.4 升级 AGP 后,收到“属性‘layoutInfoDirectory’没有配置的值”消息
针对变体派生的配置实现 api/annotationProcessor/integrationsolutionStrategy
AGP 会查找 ANDROID_SDK_ROOT,而不是 ANDROID_HOME
Google 助理窗口
firebase-tool 中存在拼写错误
模拟器
UnsatisfiedLinkError:找不到 image_converter.dll
布局检查器
应用检查和布局检查器以及数据库检查器无法运行
lint
对调用方强制执行 @TargetApi 注解
lint 类型别名测试模式会使用泛型创建无效的类型别名
Android lint NewApi 回归
内存
内存分析器的符号化解析已损坏
Network Inspector
BumbleBee 中的 Network Inspector 无法以可读格式显示 API 响应
新代码/模板
错误消息 bug:com/intellij/diff/comparison/ComparisonManagerImpl.isEquals 的 @NotNull 参数“text2”的参数不得为 null
运行测试
单元测试结果未显示在 Dolphin 中

Android Studio Dolphin Canary 3 (2021.3.1.3)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha03
已修复的问题
Android Gradle 插件
确保为 Java 资源考虑使用本地空目录和运行时类路径
lateinit 属性 projectProvider 尚未初始化
AAB (resources.pb) 间歇性地因 attrs.xml 的注释而过于庞大
AGP 会忽略 androidTest/AndroidManifest.xml 中设置的软件包名称
Google 助理窗口
将“Google 助理”工具窗口标题更改为包含冒号
Compose 预览
当可组合项访问 Build.VERSION.SDK_INT 时,Compose 预览面板为空
布局编辑器
引用的视图没有移除绝对位置
Android Studio 在构建时卡顿。
Misc.xml 包含本地路径
在 Activity Design 编辑器中,鼠标滚轮滚动的幅度小于预期
Bug:在 RecyclerView 的项中显示 RadioButton 时,即使没有如此设置,系统也会为它们加上文本
bug:无法预览自定义偏好设置
关于偏好设置的 entryValues 令人困惑
lint
Typographyquotes lint 检查发现 HTML 标记属性使用的引号存在问题
Lint 和 AGP 关于如何打包原生库的建议不一致
META-INF 中不受支持的类文件引发 AndroidLintAnalysisTask IllegalArgumentException 警告
内存
内存分析器的符号化解析已损坏
Navigation Editor
导航到 safearg 会显示导航编辑器,但不会显示参数
Resource Manager
无法创建图标
测试
AGP 7.2.0-alpha06,Espresso 测试,在生成的工件名称中有冒号

Android Studio Dolphin Canary 2 (2021.3.1.2)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha02
已修复的问题
Android Gradle 插件
基于 ASM 的转换 API 会在包含 JSR/RET 指令时尝试计算 Java 6 字节码的帧
Android studio 2021.1.1 beta5. Gradle 同步失败,并显示“无法加载类‘com.android.build.api.extension.AndroidComponentsExtension’”。
ResolutionResultUtils.getPathFromRoot(ResolutionResultUtils.kt:55) 抛出了 OutOfMemoryError
为 AGP 和 KMP 的发布添加了测试
Studio 和 AGP 兼容性选项的链接指向公司网站
在设备设置期间,当多于一个子项目声明占有同一设备时会发生冲突
合并受管设备测试结果时不应输出帮助消息
运行 shrinkReleaseRes 后,未创建 resources.txt 诊断文件
JarFlinger 应提供不忽略空目录的模式
Android Studio
针对 Lint 对导入语句的警告/错误添加了 Lint 快速修复支持
C++ Build
ModelCache.safeGet(androidProjectResult.androidProject::getNdkVersion, "") 不得为 null
Compose 预览
使用 @PreviewParameter 时在预览窗口中未显示可组合项
启用了非传递 R 类时,Compose 预览无法从其他模块查找资源
CPU
配置文件采样损坏基准测量
数据绑定
松散绑定
数据绑定
使用 addRepeatingJob/flowWithLifecycle 收集 StateFlow
设计工具
AS 2.3:WebP 转换单选按钮说明
深色主题背景的九宫格图片预览在浅色背景上显示浅色文本
设备管理器
无法运行 Android 设备管理器
导入/同步
导入 Kotlin MPP 项目时,收到“变量不可为空”消息
布局编辑器
在布局以外的其他文件中启用了布局编辑器模式热键
Android Studio 在构建时卡顿。
Android Studio 偏好设置编辑器无法正常运行
布局预览未找到所有项目主题
布局检查器
检查器在选择“stop”后显示内容
无法在布局检查器中复制属性值
lint
kotlinx-coroutines-core 中存在可疑的缩进 lint 检查假正例
Lint:由 LintCliXmlParser 的 getValueLocation 计算出来的位置不正确
列出在 lint-report.html 中执行的自定义检查
添加了 @DeprecatedSdkVersion 注解,用于指明某个方法在达到某个最低 API 级别后已废弃
ObsoleteSdkInt 应检查 RequireApi、TargetApi 和 SdkSuppress 注解
@ReturnThis 注解和 Lint 违规处置
[Android Lint 检查] Kotlin @OpenForTesting 注解和 lint 检查
ObsoleteSdkInt 检查应标记 @TargetApi 使用情况
ObsoleteSdkInt 检查应包含 tools:targetApi
在 Lint 配置中使用自定义问题 ID 时,Lint 会报告 UnknownIssueId
运行测试
无法使用包含“-e”的插桩参数
遵循 Android Studio 运行配置 (UTP) 中指定的自定义插桩参数
升级助理
“无法在 build 文件中找到 AGP 版本”。这是什么意思?怎样才能解决这个问题?

Android Studio Dolphin Canary 1 (2021.3.1.1)

与以下内容一起发布:
  • Android Gradle 插件 7.3.0-alpha01
已修复的问题
Android Gradle 插件
Android Gradle 插件 7.1.0-rc01 在单元测试期间无法执行 ASM 字节码转换
Android Gradle 插件:通过 ConstrainHandler 修复编译依赖项泄露问题。
Gradle 7.x 上的 SigningConfig for MergedFlavor (buildType+flavor)
无法在 Android Gradle 插件 7.0.0 中通过 Groovy DSL 使用部分新的 DSL 代码块
AGP 7.1 新发布的 API:创建的 javadoc jar 没有签名
代码编辑器
Android Studio Live Templates 中的 bug:className() 表达式无法解析类名称
导入/同步
日志垃圾:“INFO - testKnownPluginVersionProvider:离线 Maven 代码库中缺失‘Gradle’插件,将使用默认的 7.2.0-alpha05 版本”
当未设置 Gradle jdk location 时,在菜单中显示 JDK 版本和文件位置。
运行测试
如果选择了非 Android 运行配置,则无法从边线菜单运行 AndroidTest
缩减器 (R8)
来自 b/211811489 的 jar 中存在虚拟类合并问题
[R8 3.2.24] MemberRebindingAnalysis 中的 NPE
不支持密封类
R8 重命名了字符串字面量
使用内联函数、默认参数和 crossinline 进行 Kotlin 编译时出现问题
Bug:收到“类编译…要求其嵌套项…(不可用)位于程序或类路径上”错误消息