遇依赖解析错误时,如何用浏览器下载的pom文件手动更新Android Studio?
既然已经能直接下载到需要的pom文件,咱们可以把它放到本地Maven仓库里,让Android Studio能找到这个依赖,具体步骤如下:
第一步:找到本地Maven仓库路径
打开Android Studio,进入Settings(Windows/Linux是File -> Settings,Mac是Android Studio -> Settings),依次展开Build, Execution, Deployment->Build Tools->Maven,在右侧就能看到Local repository的路径,比如Windows一般是C:\Users\<你的用户名>\.m2\repository,Mac是~/Users/<你的用户名>/.m2/repository。第二步:创建对应目录结构
根据你下载的pom文件的路径,需要在本地仓库里创建层级目录:com/android/support/constraint/constraint-layout/1.1.0-beta4。比如本地仓库是~/.m2/repository,那就在里面依次创建这些嵌套文件夹。第三步:放入下载的文件
把你已经下载好的constraint-layout-1.1.0-beta4.pom放到刚才创建的1.1.0-beta4文件夹里。另外,你还需要下载对应的aar库文件(pom只是依赖描述,实际运行需要aar),直接从你下载pom的同一路径下下载constraint-layout-1.1.0-beta4.aar,也放到这个文件夹里。第四步:同步项目并清除缓存
回到Android Studio,点击工具栏上的「Sync Project with Gradle Files」按钮(那个小象图标),等待同步完成。如果还是报错,试试清除缓存:File->Invalidate Caches...,选择「Invalidate and Restart」,重启后再同步项目。
备选方案:本地文件依赖(仅当前项目可用)
如果你不想放到全局Maven仓库,也可以把aar和pom放到项目的libs文件夹,然后在模块的build.gradle里添加配置:
repositories { flatDir { dirs 'libs' } } dependencies { implementation(name: 'constraint-layout-1.1.0-beta4', ext: 'aar') }
配置完后同样点击同步按钮即可。
另外提一句,旧版的support库现在已经被AndroidX替代了,如果项目允许的话,迁移到AndroidX能减少很多这类依赖问题,但如果必须用旧版,上面的方法就能解决你的问题。
内容的提问来源于stack exchange,提问作者Mike6679

