记一次Mac as升级遇到的麻烦
一:场景
1、Mac版Android studio升级,旧版本studio3.1.2、Gradle4.4 --> 新版本studio4.0.1、Gradle6.1.1
2、升级之后,创建新项目可以正常编译、运行,证明IDE升级正常。
3、下面,问题来了:打开工作项目(此项目比较老旧、结构混乱…)编译无法通过
报错如下:
二:解决办法
1、看到这个报错后,Sync Now、Clean、Rebuild、Sync Project with Gradle Files、Restart甚至删除项目重新导入,都做了,然而,无效。。。
2、仔细看日志,第一句话是:Unable to find method 'org.gradle.internal.Describables.withTypeAndName(Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/internal/DisplayName;
在网上并没搜到实质性的资料。
3、继续看日志,提示说有可能是网络原因或者Gradle进程中断,在确保网络(普通网络、科学上网都顺畅)通畅、Gradle也正常,仍然无效。。。
4、下面,正解来了,
4.1、无意间点开日志详情看到这么一句话,并提示使用命令–warning-mode all 看明细,
4.2、在控制台执行这条命令,注:在Mac上,前面加上./gradlew app:assembleDebug,执行完命令后问题终于锁定了,某一模块中mavenpush.gradle这个文件里的问题,这个模块起初是用作工具模块,要发到maven上,才会用到mavenpush.gradle,现在我把代码直接引到了本地,自然不需要maven配置,删掉这个文件就好了。
三、总结:看起来很轻松就解决了,当时还是挺费劲的,走了很多弯路才发现的那句命令(–warning-mode all)。主要还是经验不足,另外就是容易进入误区(出现问题,第一反应就是复制出来去百度,然后clean、rebuild…),这次经历学到了:仔细研究日志、善用控制台命令,谨记!