首先说明笔者问题所产生的原因,笔者用的是nexus远程私有库来存放android aar文件。
下面是studio远程nexus配置
找到nexus上提交的aar文件,直接复制到自己的app gradle文件中,直接sync
点击sync之后报错了,于是一顿google,众说纷纭,其实不是网上的答案不正确;只是笔者的环境和报错的起因不一定跟你自己的是一样的,所以才不适用于你遇到的问题
下面先一个个排除一下方案吧
1.android-studio File->Settings->Build, Execution, Deployment->Gradle->Uncheck Offline work option.
因为在Android Sudio安装优化配置时,将Gradle设置为了离线工作模式(方便,不然老是要Gradle run),等下载好后再勾回去
2.在app的build.gradle里面testImplementation和androidTestImplementation 注释掉
3.通过Service directory path找到gradle.properties文件把其中的代理注释掉
4.
1).下载比出现问题的gradle版本高的版本,我的出现问题是4.6-all.zip,然后在https://services.gradle.org/distributions/ 下载了 grale-5.0-all.zip
2).解压5.0-all.zip到自己制定的文件夹下。
3).修改路径为->gradle home: C:/Users/XXXX/AppData/Local/Android/gradle-5.0,选中 use local gradle distribution
4).“File”->“Invalidate Caches / Restart …”
5.切换网络代理设置
File->Settings->Appearance&Behavior->System Settings->HTTP Proxy 改成自己的代理
我用的是ShadowSocks翻墙
Manual proxy configuration->SOCKS->Host name:127.0.0.1->Post Number:1080(与ShadowSocks代理端口号相同)
https://blog.csdn.net/jie_0754/article/details/80118905
最后附上笔者的解决方案
6.在项目的gradle 加上nexus的账号密码,因为我这里nexus是部署在服务器上的,因为权限的问题,无法直接访问,所以需要加上账号密码(这里前提你的不是本地nexus)
最后sync成功
上面的解决方案各异,根据自己的实际原因选择解决的方案
落笔:以上部分解决方案非笔者所研究,因为时间原因忘记附上链接了,如有各种版权问题请联系笔者删除