我将Android Studio更新到最新版本(3.6.1),现在找不到Gradle插件。

14
在一个Android应用中,我将Android Studio更新到了最新版本(3.6.1)。现在,在同步Gradle时,Gradle插件未被找到,出现以下错误:

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':classpath'.

同时也有以下错误:

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.android.tools.build:gradle:3.0.0.

我已经尝试将Gradle版本和Gradle插件版本更改为其他几个可能性,但出现相同的错误,这让我感到疯狂。
Build.Gradle文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Gradle.Wrappers.Properties 文件:

#Thu Mar 05 15:41:52 IRST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

编辑:
我也添加了以下数据:

编译Sdk版本:25
构建工具版本:25.0.3


面临相同的问题。你找到任何解决办法了吗? - The Bala
请查看此链接:https://dev59.com/ybnoa4cB1Zd3GeqPTJXS#60520303 - Pratik Butani
8个回答

14

这是对我有效的方法:

打开您应用程序文件夹中的build.gradle文件,它应该类似于这个样子

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.1'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

google()添加到-buildscript和allprojects中的repositories,就像这样:

buildscript {
    repositories {
        google()       // here
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.1'
    }
}

allprojects {
    repositories {
        google()      //and here
        jcenter()
    }
}
在Android Studio中,进入 文件(File) ->项目结构(Project Structure..)[快捷键:Ctrl + Alt + Shift + S]项目(Project)选项卡中,选择 Android Gradle 插件版本 -> 3.6.1以及 Gradle 版本 -> 5.6.4 |||
最后,在模块(Module)选项卡下,确保编译SDK版本大于14(例如:25、28或29...)

3

在您的gradle-wrapper.properties文件中,将distributionUrl更改为:

https://services.gradle.org/distributions/gradle-5.6.4-all.zip

gradle-wrapper.properties文件内容应该像这样:

#Wed Mar 11 00:28:24 EET 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

1

我没有找到解决方案,唯一的办法是返回这个值,在built.gradle(project)文件中。

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

到这个

 classpath 'com.android.tools.build:gradle:3.5.3'

它起作用了!


0

我首先收到了以下错误

   > Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing org.gradle.java.home in gradle.properties.

为此,我按照以下步骤进行:

首先,您需要将JDK版本更改为11,您可以从下面的链接获得帮助

https://dev59.com/LVEG5IYBdhLWcg3wX771#68541081

我会分享我所采取的步骤

  1. 在 C:\Users\{USER_NAME}\.gradle 的 gradle.properties 文件中

设置以下标记以禁用守护进程 gradle

org.gradle.daemon=false

或者运行以下命令:

Windows:

(如果不存在 "%USERPROFILE%/.gradle",则 mkdir "%USERPROFILE%/.gradle") && (echo. >> "%USERPROFILE%/.gradle/gradle.properties" && echo org.gradle.daemon=false >> "%USERPROFILE%/.gradle/gradle.properties")

UNIX:

mkdir -p ~/.gradle && echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties

  1. 我在 .idea\compiler.xml 中设置了以下标志:

设置为:

<project version="4">
  <component name="CompilerConfiguration">
    <bytecodeTargetLevel target="11" /> // <--- change this line
  </component>
</project>
  1. 我在 .idea\gradle.xml 中设置了以下标志:

设置为:

<project version="4">
  <component name="GradleMigrationSettings" migrationVersion="1" />
  <component name="GradleSettings">
    <option name="linkedExternalProjectsSettings">
      <GradleProjectSettings>
        <option name="testRunner" value="GRADLE" />
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="gradleJvm" value="Android Studio default JDK" /> // <-- this line
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/app" />
            <option value="$PROJECT_DIR$/core_data" />
          </set>
        </option>
        <option name="resolveModulePerSourceSet" value="false" />
      </GradleProjectSettings>
    </option>
  </component>
</project>

.idea\misc.xml中设置languageLevel="JDK_11" 你也可以从File | Settings | Build, Execution, Deployment | Build Tools | Gradle更改JDK版本,将Gradle JDK设置为11版本。

enter image description here

希望它能对你有所帮助


0
另一个问题:在布局中使用<TextClock>也会导致问题。Android Studio将无法“找到”布局!解决方法:注释掉<TextClock>,然后取消注释。现在应该可以构建了!

0
在我的情况下,这个依赖关系导致了问题'com.etebarian:meow-bottom-navigation:1.3.1',当我删除了这个依赖关系后,错误就消失了...

0

请查看开发者网站上的此链接,其中提到了每个Gradle版本及其相应的插件版本。这里是更新Gragle

针对初学者的更多澄清:

首先,您必须确定您拥有哪个Gradle版本-例如“C:\ Users \ username.gradle \ wrapper \ dists”,您还可以在“gradle-wrapper.properties(Gradle Version)”文件中找到它。

distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

然后查看开发者网站以获取相应的插件版本,接着在 build.gradle(项目:your_project_name)文件中进行修改。

dependencies {
    classpath 'com.android.tools.build:gradle:4.1.0' }

最后同步您的项目,然后就可以开始了。在某些情况下,Android Studio 可能会下载最新的 Gradle 版本,如果是这种情况,请稍等片刻,它将在此之后同步并构建您的项目。


0
在主 build.gradle 文件中,在 jcenter() 顶部编写 google(),如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接