Android: Null extracted folder for artifact: ResolvedArtifact(xxx 项目编译失败
最近更新项目分支,编译时报错,提示Null extracted folder for artifact: ResolvedArtifact(依赖库名称。
在网上查了查,这个问题应该是通用问题,不只是针对某一个依赖库。
在网上看了看解决方案,大部分是说要clean project然后重新编译。
反复尝试之后不见效果。
后来跟同事沟通,发现同样的代码,同事就可以正常编译。
那就说明项目代码没问题,是自己编译环境哪里出了问题。
最后通过清缓存,重启android studio以及切换网络的方式修复了,果然项目代码没问题。
针对这类问题,大家可以通过以下步骤来修复。
1、清缓存
找到依赖库的缓存路径。(我是mac电脑)
一般是user-> .gradle (这是个隐藏目录,需要修改一些设置让它显示出来) -> caches -> modules-2 -> files-2.1 -> 依赖库目录
找到这个依赖库的目录,确认好跟依赖库名字相同的文件夹,删除就算是把缓存清了。
2、Android Studio clean project
清除缓存后,在Android Studio里clean project.
3、重启Android Studio或重新Sync项目
重启Android Studio或者重新Sync项目后,会重新下载之前删掉的依赖库。(注意,重新下载时最好使用网速较快较稳定的网络)
这时候可以观察之前找到的目录,如果依赖库的文件夹再次出现,则说明又重新下载了。
之后再观察看看是否编译成功。
这个问题有一部分原因是因为依赖库下载过程中网络问题导致的依赖库下载不全,解压失败。
所以重新执行时一定要注意电脑的网络状态是否快速稳定,网络不好仍然有可能会下载依赖库文件不全。