前言
Android Studio 从1.0一直用到了4.2.2,遇到了数不清的坑。讲道理,作为一个编译工具,总会出现各种各样的编译问题,有时候甚至都不知道哪出了问题,而工具的缓存目录又分好几个,真让人蛋疼。
大杀器
最近升级了kotlin的1.4.10版本,结果导致整个项目的Kotlin代码都爆红了,究其原因是发现kotlin-stdlib的某些类不见了,编译器爆红,编译没问题,运行也没问题。初步判断应该是缓存问题,clean后运行发现没效果,invalidate Caches后,也没效果,删.idea文件夹,重启后也不行。然后找到kotlin的lib,发现lib里是有类的,就是编译器里没有,那就只能祭出大杀器,专治AS各种疑难杂症,找到C:\user\admin\AppData\Local\Googloe
,把Android Studio4.2文件删了或者改个名字,重启,解决问题。注意,在C:\user\admin\AppData\Roaming
也有一个Google,这里面主要是一些配置,不是缓存位置,删这个没用,删Local下的,解决所有的编译问题。
补充
前几天遇到一个非常难受的问题,AS卡在build model很久,我也知道有些库是拉不下来,也科学上网了,重复删缓存好几次,依然卡着,每次都要卡最少两分钟。当然设置离线模式是可以的,不过这治标不治本,作为一个有洁癖的人来说,我必须得找到问题,到底是哪个库拉不下来。
经过很多的排查(过程不再赘述),最终定位到是flutter的某些pom下载不下来,后续也进行许多的厂商,科学上网,更换maven库,等等操作最后还是卡在那。但编译能过,能运行。甚至一度想过要把flutter的module打包成远程maven。
但把这个flutter的module引入到一个demo中,确能很快的编译。再次确定问题还是在app的某些配置有问题。下载不下来库,首先考虑的就是maven库有问题,再后续又排查了一堆的库,终于定位到一个bintray
maven,发现这个maven已经关闭了,迁移到mavenCenter了,最终找个库删掉,终于不再卡编译了。
网友评论