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"