Android Studio从Electric Eel降级到Giraffe后编译失败:PermittedSubclasses requires ASM9
解决Android Studio降级至Giraffe后构建失败(PermittedSubclasses requires ASM9)的方案
问题原因
该错误源于你当前使用的Gradle版本(7.0.2)与Android Studio Giraffe不兼容。Giraffe依赖的工具链需要更高版本的Gradle来支持ASM9(字节码处理库),而Gradle 7.x内置的ASM版本较低,无法识别Java 16+引入的PermittedSubclasses特性。
解决方案
1. 升级Gradle及Android Gradle Plugin(AGP)到兼容版本
Android Studio Giraffe对应最低Gradle版本为8.1,需同步升级AGP版本:
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip - 打开项目根目录的
build.gradle(Project级),更新AGP版本(Giraffe适配AGP 7.4.x版本):dependencies { classpath "com.android.tools.build:gradle:7.4.2" // 其他依赖... }
2. 彻底清理缓存并重新同步
即便之前清理过缓存,建议执行更彻底的操作:
- 关闭Android Studio
- 删除以下目录:
- 项目根目录下的
.gradle和build文件夹 - 用户目录下的
.gradle/caches(如C:\Users\Cactus\.gradle\caches)
- 项目根目录下的
- 重新启动Android Studio,点击
File > Sync Project with Gradle Files完成同步
3. 确认JDK版本匹配
Android Studio Giraffe推荐使用JDK 17,确保项目JDK配置正确:
- 打开
File > Project Structure > SDK Location - 在
JDK location选择Android Studio内置的JDK(通常路径为C:\Program Files\Android\Android Studio\jbr),或手动指定JDK 17的安装路径
内容的提问来源于stack exchange,提问作者Cactus
相关产品推荐
相关产品推荐

