gradle7.2编译报错

build.gradle这行


configurations.compile.exclude module: 'org.eclipse.paho.client.mqttv3'

报错
Could not get unknown property 'compile' for configuration container of type org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.

最后还是gradle版本问题
gradle-wrapper.properties修改gradle版本为6.7.1
distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-bin.zip
build.gradle修改为

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

问题解决,参考google官网
https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn#updating-plugin

  • 请看👉 :Gradle7.0 降到Gradle4.2出现的问题
  • 除此之外, 这篇博客: Gradle入门教程(三):Gradle构建脚本基础中的 3.1 初识build.gradle 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在第二章中分析项目结构时我们说过build.gradle这个文件是构建脚本文件,它的本质是在其中定义了一个project和若干tasks

    当我们在命令行中输入gradle build(或gradlew build)命令进行项目构建时,Gradle会自动在当前目录下去寻找build.gradle文件,按照里面定义的脚本进行构建。

    以一个小demo为例,我们在一个空目录中新建一个文件build.gradle

    task hello {
    	doLast {
    		println 'Hello world!'
    	}
    }
    

    在当前目录下打开命令行,输入gradle -q hello,会输出以下结果(注:-q参数是为了不让Gradle的日志打印出来,只让我们输出的字符串显示)

    > gradle -q hello
    Hello world!
    

    在这个demo中,我们在build.gradle中定义了一个任务hello,并在其中添加了一个动作——打印"Hello wold!",然后当我们在命令行执行gradle -q hello命令时就会执行这个task。

  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    1. 确认错误信息,查看报错的具体信息和出现的位置,尝试理解错误原因。

    2. 尝试将Gradle版本降级到7.1.3,编译成功的话可以认为是可靠的解决方法。可以在gradle-wrapper.properties文件中将distributionUrl改为https\://services.gradle.org/distributions/gradle-7.1.3-all.zip。

    3. 如果降级不可行,可以尝试修改build.gradle文件中报错的那行代码,或者更新相关依赖包版本。

    4. 如果以上方法都不可行,可以查看Gradle官方文档或者向相关论坛发帖求助。

    代码示例:

    在gradle-wrapper.properties文件中修改distributionUrl属性:

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

    在build.gradle文件中更新依赖包版本:

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.3'
        //其他依赖包
    }
    

    在build.gradle文件中修改报错的那行代码,具体根据报错信息而定:

    //修改前
    implementation 'com.example:example:1.0.0'
    
    //修改后
    implementation 'com.example:example:1.0.1'
    

    注意:以上代码示例仅供参考,具体修改需要结合实际情况而定。