gradle - 如何在build.gradle中声明gradle版本5.0?

标签 gradle build.gradle

我在Gradle为4.x时使用了task wrapper,但是当我将gradleVersion更改为5.0时,gradle包装器指出它无法添加具有相同名称的任务。当我是4.x时,我可以从4.8更改为4.9,而没有任何问题,这没有发生。 Gradle是否更改了task wrapper的工作方式?

最佳答案

自Gradle 4.8版本开始,在构建脚本中定义自定义wrapper任务已被弃用,请参见Gradle 4.8 depreciations(“覆盖Gradle的内置任务”一节)

从4.8版本开始(以及5.0之前的版本),如果仍然定义自定义wrapper任务,则应该显示以下警告消息:

$ ./gradlew clean --warning-mode all

> Configure project :

Creating a custom task named 'wrapper' has been deprecated and is scheduled to be removed in Gradle 5.0.

You can configure the existing task using the 'wrapper { }' syntax or create your custom task under a different name.'.



如所宣布的,在Gradle 5.0中已删除了对自定义wrapper任务的支持,因此您需要使用新的方式来配置包装器:
// Configuring the wrapper, the old way (gradle < 4.8 )
// see https://docs.gradle.org/4.4/userguide/gradle_wrapper.html#sec:wrapper_generation
task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionType = Wrapper.DistributionType.BIN
}

// Configuring the wrapper, the new way (since Gradle 4.8) 
// see https://docs.gradle.org/current/userguide/gradle_wrapper.html#customizing_wrapper
wrapper{
    gradleVersion = '5.1'
    distributionType = Wrapper.DistributionType.BIN
}

关于gradle - 如何在build.gradle中声明gradle版本5.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53911102/

相关文章:

android - Android Build Gradle给出compile()错误

android-studio - 渲染问题 : The following classes could not be found

android - 自动在 gradle 上添加模块依赖

java - 检索项目 : No resource found that matches the given name android 的父级时出错

产品 flavor 中的 Android gradle 库资源

android - 从 gradle 运行单个 Android(单元)测试而不加载其他项目依赖项

java - Gradle:在顶级构建文件与模块构建文件中声明依赖关系?

java - 无法使用 Gradle 将工件上传到 Nexus Sonatype

gradle - JaCoCo Gradle插件的确切工件坐标是什么

android - 为什么不在所有 Android 应用程序中添加 mavenLocal()?