Android Studio 4.2升级后问题处理案例集锦

介绍

先看看 Android Studio 4.2 带来了啥新玩意:

  • 按变体配置应用签名
  • 针对JDK 11 优化Gradle 构建
  • System Trace:改进了内存和图形的指标
  • 现在,R8 retrace 包含在命令行工具中
  • 新增布局检查器刷新操作
  • Jetpack Compose 的Android Gradle 插件支持
  • 适用于AGP 的升级助理

balabala,说的不少,但也没看出有什么特别的地方。
更多内容,见原文 https://developer.android.com/studio/preview/features?hl=zh-cn#4.2

如果原来版本用的挺好的,不建议升级。但对于新版本强迫症患者,肯定会手贱升级一波的,然后问题就来了…

问题 1: Gradle Task面板中啥都看不到了

原因:这是因为新版本中,AS中在Experimental一栏中有新的内容修改,但是在它的What’s New in 4.2中是没有任何体现的,并且非常体贴的默认给你勾选了”Do not build Gradle task list during Gradle sync”,让你体验一波新版本的福利,解决办法也就显而易见了。

解决办法:Setting中去掉这项的勾选: “Do not build Gradle task list during Gradle sync”,然后再 Sync Project

问题 2: 构建时报错: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

问题原因:在 Android Studio 中运行时,Gradle 构建工具使用 Android Studio 中设置的默认 JDK 版本。在以前的版本中,默认情况下使用 JDK 8;但在 4.2 中,默认的 JDK 版本为 JDK 11。JDK 11 的这项更新会影响 JVM 垃圾回收器的默认配置,因为 JDK 8 使用并行垃圾回收器,而 JDK 11 使用 G1 垃圾回收器。

解决办法:Project Structure -> Platform Settings\SDKs -> Android API xx Platform -> Change “Java SDK” to 1.8

问题 3: 插件问题

4.2 中插件路径修改了,可能需要重新安装插件。在Android studio 4.2中plugin目录发生了变化:
Plugin folder has changed in 4.2 version;
From : ~/Library/Application\ Support/AndroidStudio4.2
To : ~/Library/Application\ Support/Google/AndroidStudio4.2/plugins

ln -s ~/Library/Application\ Support/Google/AndroidStudio4.2/plugins ~/Library/Application\ Support/AndroidStudio4.2

莫名其妙的其他问题

问题描述:比如编译时突然提示文件名过长,无法删除文件之类的提示。
解决办法:可尝试将kotlin版本升级到最新的1.5.0以上,build gradle插件4.2.0以上,主项目gradle 6.7.1以上