android - 由于 gradle 版本错误导致构建失败时安装 gradle wrapper

标签 android gradle gradlew

我是 Gradle 和 Java 开发的新手,我很难使用需要旧版本 Gradle 的 Gradle 项目。

基本上,问题是我运行的每个 gradle 命令都以相同的错误结束:

FAILURE: Build failed with an exception.

* Where:
Build file '/var/code/doron/reverb/libpulse-android/build.gradle' line: 10

* What went wrong:
A problem occurred evaluating project ':libpulse-android'.
> Failed to apply plugin [id 'android-library']
   > Gradle version 1.10 is required. Current version is 4.10.2. If using the gradle wrapper, try editing the distributionUrl in /var/code/doron/reverb/gradle/wrapper/gradle-wrapper.properties to gradle-1.10-all.zip

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 0s

据我了解,处理此类项目的推荐方法是安装和使用 gradle wrapper - 使用 ./gradlew 命令而不是系统的 gradle。我已经在互联网上搜索并到达了这个网页:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:adding_wrapper基本上说我应该跑:

gradle wrapper --gradle-version 1.10

但这会导致与上述相同的错误!

在寻找答案时,我遇到了这个问题:Getting error "Gradle version 1.10 is required. Current version is 1.12." when executing "gradle wrapper"?未能解决我的问题。该问题的答案似乎只是试图解释问题发生的原因,而不是如何解决问题。

你明白为什么这个问题是荒谬的递归了吗?我无法在包装器中安装所需的 Gradle 版本,因为构建失败,构建失败是因为我没有使用特定版本gradle 并且我不使用包装器我无法安装

最佳答案

如果你的项目中还没有Wrapper:你可以做的是新建一个临时的Gradle项目,在这个项目中配置wrapper以匹配你需要的gradle版本,然后将wrapper相关文件复制到你的初始项目。如果你已经有一个包装器,你可以通过在 ./gradle/wrapper/gradle.properties 中更改分发 url 来简单地配置它:

详情

1) 创建新的空项目

mkdir  tmp-project
cd tmp-project
gradle init

2) 更改包装器版本

gradle wrapper --gradle-version 1.10

3) 检查版本(这将下载分发版)

$ ./gradlew --version
Downloading https://services.gradle.org/distributions/gradle-1.10-bin.zip
......................................

------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

4) 复制wrapper相关资源到你的项目中:

  • ./gradle/目录
  • ./gradlew 脚本
  • ./gradlew.bat脚本

关于android - 由于 gradle 版本错误导致构建失败时安装 gradle wrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554622/

相关文章:

android - 计时器未在服务中运行

gradle - 如何找到未使用的Gradle存储库

java - Gradle 任务 - 将参数传递给 Java 应用程序

安卓工作室 : Could not create plugin of type 'AppPlugin'

android - MediaStore.EXTRA_OUTPUT 在横向模式下始终包含 null

android - 约束布局与百分比相对布局

android - Intraweb HTML5 应用程序、git 和数据库——它们融合了吗?

android - 无法解决 : com. github.PhilJay :MPAndroidChart:v2. 1.4

Gradle : gradlew expecting in

android - Android:首次从命令行运行应用