升级到3.0之后,级别构建失败

我最近将我的项目的分级版本从2.14.1升级到了3.0。从那以后,渐进式构建每次都会因为这个错误而失败:

错误: 原因: org.gradle.api.interal.asks。 DefaultTaskInput$TaskInputUnionFileCollection 无法强制转换为 org.gradle.api.interal.file 导致这个意外错误的可能原因包括: < ul > < li > Gradle 的依赖性缓存可能已损坏(这有时发生在网络连接超时之后) 重新下载依赖项和同步项目(需要网络) < li > Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护进程可以解决这个问题。 停止 Gradle 构建进程(需要重新启动)

  • 您的项目可能使用的第三方插件与项目中的其他插件或项目所要求的 Gradle 版本不兼容。
  • 对于已损坏的 Gradle 进程,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。

    我已经搜索谷歌,并找到了一些解决方案,如 这个一,但没有工作。有人知道怎么修吗?

    98581 次浏览

    好的,我让它起作用了。对于任何面临同样问题的人,它对我起作用的方式如下:

    1. 转到你的外部。Gradle 文件夹(对我来说是 C: Users drilon.gradle)。在缓存和守护进程文件夹中删除所有的版本文件夹(它们看起来像“2.14.1”或“3.0”)。也可以转到 wrapper-> dists-> delete everything there。
    2. 在项目根目录中(对我来说是 C: Users drilon AndroidStudioProjects PorjectName) ,转到. gradle 文件夹并删除那里的所有内容。
    3. 重建项目

    编辑:
    原来这个解决方案是将 gradle 版本设置回2.14.1. ending0421的解决方案是可行的。

    如果您使用 gradle 插件2.1.3, 答案很简单:

    更新你的 gradle 插件到2.2.0-beta1版本

    注意: 这是一个测试版本,也许你可以得到任何其他问题。

    Https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979

    快乐编码:)

    将您的分级构建工具升级到最新版本。

    一个简单的方法是在 build.gradle文件中添加构建工具的最新版本作为依赖项,例如:

    dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-beta1'
    }
    

    然后你可以运行 gradle tasks,gradle 会下载你需要的所有东西。

    在2016年9月19日发布 Android Studio 2.2稳定版之后,构建工具的最新版本是2.2。所以你可以通过:

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

    由于 Android Studio 2.4稳定版还没有准备好发布(2017年5月4日) ,构建工具的最新稳定版本是2.3。

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

    如果将此构建工具版本更新为2.3。* ,还应该将 gradle 包装器版本更新到/yourProjectRoot/gradle/wrapper/gradle-wrapper 中的3.3。属性档案。(我知道这是不匹配的问题 Gradle build failing after update to 3.0,但我强烈建议你使用最新的谷歌建议构建工具)

    顺便说一下: 构建工具的2.3.1版本只存在于 jCenter 上,而不存在于 MavenCentral 上,所以如果您在终端运行 gradlew 命令行时遇到以下错误

    Could not find com.android.tools.build:gradle:2.3.1.
    Searched in the following locations:
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.pom
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.jar
    

    只需将 mavenCentral ()替换为 jcenter ()

     repositories {
    jcenter()
    //mavenCentral()
    }
    

    Android Studio 3.0的最新更新

    gradle-wrapper.properties(文件名)中,将 distributionUrl的 URL 更改为:

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

    如果 gradle 版本是: 3.0.1,那么在 gradle-wrapper. properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip中使用以下代码

    如果是3.1.2,那么在 gradle-wrapper. properties 中使用以下代码 distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

    只需删除主项目文件夹中的 gradle 文件夹中的所有内容,然后重建 项目。它将开始工作。

    如果您的工作室版本3.0的 Gradle 插件3.0.0,添加到 梯级包装纸,性能

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
    

    简单的回答试试这个..。

    Gradle (PROJECT)并检查 gradle 版本,如下所示

    Build: gradle: 2.1.3’或3.0或3.1或 xx.xx

    现在打开 gradle-wrapper. properties 查看这行代码,如果 gradle 版本是2.x,这是下面的代码..。

    分布/Url = https://services.gradle.org/distributions/gradle-2.14.1-all.zip

    Gradle-2.14.1-all.zip 代码行必须与 gradle 版本相同

    例如:

    例如: 我的是2.x 所以..。 Gradle 中的 classspath‘ com.android.tools.build: gradle: 2.1.3’

    分布/Url = https://services.gradle.org/distributions/gradle-2.14.1-all.zip 在梯级包装纸。属性。

    如果分级版本是3.x,则 那么 build.gradle 中的 classspath‘ com.android.tools.build: gradle: 3.1.0’

    分布/Url = https://services.gradle.org/distributions/gradle-3.14.1-all.zip 在梯级包装纸。属性。

    检查这个,它会工作

    最新更新的 Android Studio 3.3.1以下代码的工作。

    1) 梯级包装纸,性能加入以下行。

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
    

    2) 项目水平中的 建造,分级添加到类路径下面

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

    如果 Android Studio Android Studio 3.0低于代码工作。

    Gradle-wrapper. properties 添加如下行。

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
    

    如果 Android Studio Android Studio 3.1.2低于代码工作。

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
    

    如果 Android Studio 3.3.1下面的代码工作。

    1)级别包装。属性添加以下行。

    distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip
    

    2) build.gradle 在项目级添加如下

     dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'
    }
    
        After 1 hour R&D No Solution as worked for me...
    
    
    But still i have solution follow this its work 100%
    
    
    step 1: upgrade your build.gradle(Project:<your project name>)
    Example :  classpath 'com.android.tools.build:gradle:2.1.3' // old gradle file
    classpath 'com.android.tools.build:gradle:2.3.1' // upgraded file
    
    
    OR
    classpath 'com.android.tools.build:gradle:3.1.0'
    
    
    Step 2 : Upgrade compileSdkVersion buildToolsVersion
    Example : compileSdkVersion 23    buildToolsVersion "23.0.3 // old api's
    compileSdkVersion 25    buildToolsVersion "25.0.2" // upgraded api's
    
    
    Step 3:  upgrade gradle-wrapper.properties
    Example : distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip // old or any version
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // new or any version
    

    第四步: 最终构建 > 重建项目..。

    仍然你面临一些问题提交或收件箱我... 。

    安比普拉

    在更新之前应该使用 检查你的分级插件版本和分级版本

    在你的项目级别 build.gradle文件中检查 Gradle 插件版本

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

    在你的 gradle-wrapper.properties-检查分级版本

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

    在回答这个问题的时候,下面是最新的版本。你可以在 这一页上匹配你的版本。

    gradleversion

    Android Gradle 依赖关系在 Android 的新更新中不起作用 工作室

    如果你面临很多问题,最重要的是: 它适用于插件7.1或新的更新版本 请试试这个:

    在存储库中转到-> setings.gradle {} :

    添加两个文件:

    maven{ url("https://repo.gradle.org/gradle/libs-releases/") }
    maven { url "https://jitpack.io" }
    

    完整的结构

    设置,等级

    档案如下:

    pluginManagement {
    repositories {
    gradlePluginPortal()
    google()
    mavenCentral()
    }
    }
    dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
    google()
    mavenCentral()
    maven{ url("https://repo.gradle.org/gradle/libs-releases/") }
    maven { url "https://jitpack.io" }
    }
    }
    rootProject.name = "MyApp"
    include ':app'
    

    最后一步,它必须添加到 gradle.properties 文件中。

    android.useAndroidX=true
    android.enableJetifier=true