Wal*_*lid 7 android gradle android-studio build.gradle
我将 gradle 更新为 4.0.0
classpath 'com.android.tools.build:gradle:4.0.0'
Run Code Online (Sandbox Code Playgroud)
和 distributionUrl 到:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
Run Code Online (Sandbox Code Playgroud)
同步项目后我得到:
无法找到方法“org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;”。
我知道,如果我降级版本,项目将正确同步。但是有什么地方不兼容吗?如果是真的,为什么会有一些更新?
rak*_*kex 16
这可能是因为任何 3rd 方 Gradle 插件不支持新的 Tasks API。就我而言,这是因为 greendao Gradle 插件。
如果您使用的是 greendao,请将其更新到最新版本 3.3.0:
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
Run Code Online (Sandbox Code Playgroud)
否则,您将不得不找到导致问题的插件。
Android Studio 4.0在使用Gradle Plugin 4.0.0和 Gradle 版本gradle-6.1.1-all.zip时出现以下错误的解决方法:
错误: 无法找到方法“org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;”。
根本原因: 问题源于旧版本的 GreenDao 库(早于 3.3.0)不支持 Gradle 6.0.0 和早于 3.3.x 的 Gradle 插件
解决方案: 从最新版本(GreenDao v3.3.0)的发布说明中收集,最新版本中增加了以下支持: --- 支持Android Gradle Plugin 3.3+ APIs。#942 --- 支持 Gradle 6.0。#1002
在根 build.gradle(项目)中将库更新到 3.3.0 后
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
Run Code Online (Sandbox Code Playgroud)
在 build.gradle 模块中:
implementation "org.greenrobot:greendao:3.3.0"
Run Code Online (Sandbox Code Playgroud)
问题得到解决。
特别注意: 任何其他不支持最新 gradle 插件的库都可能抛出类似的错误。要确定哪个库导致了问题,您可以运行:
./gradlew tasks --stacktrace
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |