新建項目下Gradle sync報錯Plugin was not found in any of the following sources

新建項目下Gradle sync報錯:Plugin [id ‘com.android.application’ version ‘7.1.2’ apply false] was not found in any of the following sources:

  • 問題描述
    • 解決過程

問題描述

本人是新使用Android開發的新手,在看網絡博客教程學習使用Android Studio,(血淚教訓別輕易照著某博客去做,盡量去看視頻操作教學,不然真的會出現各種千奇百怪的問題)出現瞭下面的問題。

Plugin [id 'com.android.application' version '7.1.2' apply false] was not found in any of the following sources:

我按照視頻教學操作File->New project->Empty application後,Gradle sync下出現瞭這個問題。

解決過程

在問題排除過程中,根據網上的博客猜測是版本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 2022systemProp.http.proxyHost=mirrors.neusoft.edu.cnsystemProp.https.proxyHost=mirrors.neusoft.edu.cnsystemProp.https.proxyPort=80systemProp.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

保存,即可解決問題。

本文來自網絡,不代表程式碼花園立場,如有侵權,請聯系管理員。https://www.codegarden.cn/article/28047/
返回顶部