Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法

avatar
作者
猴君
阅读量:3
新建项目下Gradle sync报错:Plugin [id 'com.android.application' version '7.1.2' apply false] was not found in any of the following sources:

相信你在网上各种搜索答案,尝试了各种设置Http proxy,也配置了很多仓库,还是不能解决问题。

解决过程


在问题排除过程中,根据网上的博客猜测是版本Gradle和Gradle Plugins不匹配产生的问题,但是发现sync的过程中,build.gradle、settings.gradle中并未有如上现象。对此我百思不得其解。我不得已对项目中Gradle Scripts中的每个文件进行查询发现,在Gradle Scripts下的gradle.properties文件中,出现了下面的几行代码:

# Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx1024m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true #Tue Mar 29 12:47:27 CST 2022 systemProp.http.proxyHost=mirrors.neusoft.edu.cn systemProp.https.proxyHost=mirrors.neusoft.edu.cn systemProp.https.proxyPort=80 systemProp.http.proxyPort=80 

它竟然给挂上了http代理,但是当我打开File->settings->Appearance&Beavior->System Settings->HTTP Proxy的时候,明明已经修改成了No proxy,为什么还会对我的插件下载挂上代理。而且在我进行Gradle sync之前,我便修改了这个选项使得能正常下载Gradle。

你在AS里面下载Gradle是走AS里面的代理,而我后来gradle sync中下载的gradle插件则是走的全局设置。

于是在AS全局的设置中(位于C:\Users\Administrator\.gradle\gradle.properties),将上述的代码注释掉:

# systemProp.http.proxyHost=mirrors.neusoft.edu.cn # systemProp.http.proxyPort=80 # systemProp.https.proxyHost=mirrors.neusoft.edu.cn # systemProp.https.proxyPort=80 

保存,重新build即可解决问题。

不需要设置任何proxy。


Android Studio 设置阿里云镜像代理(如果设置之后还是远程仓库下载失败,请仔细阅读其内容就可以解决了)

 1.在project的build.gradle文件的repositories标签和allprojects标签的repositories标签下加入以下阿里云镜像代理(如下图一和图二,记得要把阿里云镜像代理放在repositories{}的第一行,不然还是用的google()、jcenter()等等的仓库),同步一下,很快就会同步成功(一般在5分钟之内),就代表设置成功了;如果同步失败,请看第二步。 

 这是要加入的阿里云镜像地址

maven{ url 'https://maven.aliyun.com/repository/google'} maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} maven{ url 'https://maven.aliyun.com/repository/public'} maven{ url 'https://maven.aliyun.com/repository/jcenter'}


2.如果网络好的情况下超过5分钟还没同步成功,或者同步失败,有可能不是第一次设置代理,如果project的gradle.properties文件下配置了代理(如下图一和图二)和.gradle文件夹(Mac下的.gradle文件夹在Users文件夹的YourUserName文件夹下,是隐藏的,要先按快捷键command+shift+.使其显示出来)下有gradle.properties文件(如下图三),阿里云镜像代理就会失效,解决方案请看第三步。

3.如何解决:把project的gradle.properties文件下配置的代理地址(如下图一和图二)和.gradle文件夹下(Mac下的.gradle文件夹在Users文件夹的YourUserName文件夹下,是隐藏的,要先按快捷键command+shift+.使其显示出来)的gradle.properties文件(如下图三)删掉,然后按照第一步配置了阿里云镜像代理之后(如果有别的镜像代理,比如平安镜像代理,和阿里云镜像代理差不多,但是网址有所不同,可能不是以“https://maven.aliyun.com/”开头的,要先把别的镜像代理删掉),然后同步项目就可以了,现在就可以安心的使用Android Studio了,再也不用担心远程仓库下载失败的问题了。

最后请注意:如果这样设置了之后,还是同步失败(看具体报错信息),可能是因为某些远程仓库还未来得及添加到阿里云镜像代理中(最近我遇到了这种情况),还有一种情况是阿里云镜像代理有的时候无法使用(很少情况,最近就遇到了,设置了之后,怎么也打不开项目,这破代理有的时候不行啊),那只能把设置的所有代理全部去掉,用google自己的远程仓库,然后用电脑连自己的手机热点进行同步了,如果还是同步失败,那么只能翻墙了(因为国内有的时候没办法访问google的远程仓库)。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!