qq_42998491 2023-05-16 18:41 采纳率: 0%
浏览 189

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

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-16 20:05
    关注
    • 请看👉 :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'
      

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

    评论

报告相同问题?

问题事件

  • 修改了问题 5月16日
  • 修改了问题 5月16日
  • 创建了问题 5月16日