unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)

0. 发现问题

今天项目接入了一个新模块

提示我的compileSdkVersion 太低,正常情况下,我自然会想到升级:30-->31

正当我编译项目时,报了以下错误

···
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
···

字面意思就是:无法识别模块的属性名称

度娘一会,解决方案都是降版本。

这是逃避问题,不是解决问题啊喂。

1. 思考

因为升级了编译工具导致,所以降版本之后,肯定可以编译。

但是,项目接入新模块,要求要用31版本。所以降版本行不通

2. 解决方法

解决方法很简单:

Windows电脑,在Android Studio中

Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK

JDK选择11。最后应用保存就好了

MAC电脑,在Android Studio中

Android Studio > Preferences > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK

JDK选择11。

3. 后记

因为Android12似乎至少需要JDK11+

所以,我的项目还在使用JDK1.8 当然会出现不适配的情况

4.逼逼赖赖

本来想吐槽一下国内环境。想想还是算了。

希望博文能帮助到 跟我一样遇到这个问题的人吧。

var code = "b5f5417e-50fe-4c86-80fe-fac126de9895"

你可能感兴趣的:(Android中遇到的坑,Android,Studio)