在导入新的android项目时关于gradle问题的一些总结

问题1. 导入别的项目时出现Could not resolve all artifacts for configuration ‘:classpath’. 报错

首先百度翻译得其中文意思:无法解析配置“:classpath”的所有项目。

然后,我猜错误中出现的classpath即是build.gradle文件中的那个classpath,如下图所示:

dependencies {
        classpath 'com.android.tools.build:gradle:3.6.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

后来的后来,我查了很多网站终于发现,这个classpath中的gradle:3.6.1指的是项目所需的gradle版本依赖,而本机上可能没有相应的gradle版本,如此以来一般需要更新gradle插件,但一般需要过墙啥的(真不会),所以机智聪明的我选择了更好的办法:

1.新建一个项目,然后查看其build.gradle文件得到的版本号。
2.把导入的项目的build.gradle文件中的classpath改成一样的即可。

问题成功解决!

问题2. Gradle Sync时报Read Time out的错误
首先,它的中文意思:读取超时
然后我算到问题出现在gradle/wrapper/gradle-wrapper.properties该配置文件中,即下图所示:

#Thu Mar 12 15:32:59 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Android Studio 中Gradle进行Sync时会根据gradle中的设置选择其进行选择进行解析的gradle文件,可以按照如下步骤查看gradle配置:File->Settings->Build,Execution,Deployment->Gradle
其中可以看到Use Gradle from选项卡,其中Specified location选项是选择使用外部的gradle文件进行解析,‘gradle-wrapper.properties’ file选项即是选择使用上图中的gradle-wrapper.properties文件中指引的gradle文件进行解析,distributionBasedistributionPath进行拼接即可得到其指引的gradle文件所在的目录,distributionBase的值即为gradle配置界面中Gradle user home文本框内的地址。然后根据distributionUrl的值中的gradle-x.x.x-all.zip查看目录中是否含有该版本的gradle文件,如果没有就会按照distributionUrl的值进行下载,然鹅这个网站是国外的,会被限速,而AS当下载时间过长的时候就会报Read Time out的错误,至此问题理清了。

在上网搜到的解决办法有如下几种:

  1. 翻墙,即挂载个vpn。(本人没试过,但应该管使,如果有vpn途径的话可以试试)
  2. 提前下载好gradle-x.x.x-all.zip(这就八仙过海各显神通了),然后你可以先再执行一次Gradle Sync让其生成gradle-x.x.x的目录(之所以不自己创建是因为gradle-x.x.x中的乱码文件名不好搞),找到C:\Users{你自己的名字}.gradle\wrapper\dists目录,当gradle-x.x.x的目录出现的时候,Gradle Sync进程就可以×掉了,然后将提前下载好的gradle-x.x.x-all.zip复制到乱码目录下,覆盖掉那个刚才下载的不完整的gradle-x.x.x-all.zip,然后打开该zip压缩包,选择解压到乱码目录下(注意:不要直接解压,否者会多一个gradle-x.x.x-all的外壳文件夹)。

然后重新执行Gradle Sync,问题解决!

总结: 在导入的项目gradle sync失败的时候可以找一个本机上可以正常运行的项目,将其中的build.gradle文件和gradle-wrapper.properties文件复制到导入的项目中,覆盖掉原来的该文件,有概率成功。

哎!终于可以松口气了ヾ(≧▽≦*)o~
希望这篇文章对大家能够有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值