android - 由于错误的 gradle 版本而导致构建失败时安装 gradle wrapper
问题描述
我是 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 包装器 - 使用./gradlew
命令而不是系统的gradle
. 我搜索了互联网并到达了这个网页:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:adding_wrapper基本上说我应该运行:
gradle wrapper --gradle-version 1.10
但这会导致与上述相同的错误!
在寻找答案时,我遇到了这个问题:出现错误“需要 Gradle 版本 1.10。当前版本是 1.12。” 执行“gradle wrapper”时?这未能解决我的问题。似乎该问题的答案只是试图解释问题发生的原因,而不是如何解决它。
你明白为什么这个问题是荒谬的递归吗?我无法在包装器中安装所需版本的 Gradle,因为构建失败并且构建失败,因为我没有使用特定版本,也没有使用无法安装gradle
的包装器。
解决方案
如果您的项目中还没有 Wrapper:您可以做的是创建一个新的临时 Gradle 项目,在该项目中配置 wrapper 以匹配您需要的 gradle 版本,然后将 wrapper 相关文件复制到您的初始项目中. 如果您已经有一个包装器,您可以通过更改分发 url 来简单地配置它./gradle/wrapper/gradle.properties
:
详细介绍
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)将包装器相关资源复制到您的项目中:
- ./gradle/ 目录
- ./gradlew 脚本
- ./gradlew.bat 脚本
推荐阅读
- javascript - 如何将两种服务变成一种服务?
- r - How can I correct my for loop code to ensure that it is applied to each of my columns and the results are combined together?
- sql-server - SQL 更新设置值 where
- r - 如果函数参数中有NULL,有没有办法删除它们
- build - CMake - 使用外部库作为 APR
- php - Wordpress 插件开发 admin-ajax.php 400(错误请求)
- azure - 无法通过自定义子域访问 CDN 端点
- angular - Angular 库路由
- sql - SQL Server - 清理巨大的表。插入我们想要保留的数据并截断旧表
- python - 在 Word [docx] [Python 3.8.2] 中设置表格单元格的背景颜色