现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Android Studio sync报错:Plugin [id ‘com.android.application’ version ‘8.1.4’ apply false] was not found in any of the following sources

2020-08-11 20:15 工业·编程 ⁄ 共 1486字 ⁄ 字号 暂无评论

在问题排除过程中,根据网上的博客猜测是版本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的时候,刚打开AS的第一个界面就是让我设置AS的Proxy,而按照某些过时的博客上所讲,从官方的源下载会很慢,于是我就设置了代理并规定了端口号。这时设置完成后,实际上是写入了全局的设置里,而我在settings中修改的选项,只应用于当前的Projects。我后来修改的HTTP代理,只对AS有效。

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

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

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

保存,即可解决问题。

给我留言

留言无头像?