我在 Android Studio Ladybug 上构建较旧的应用程序时遇到问题 | 2024.2.1 并收到此错误:
不能在方法上使用@TaskAction注释 IncrementalTask.taskAction$gradle_core() 因为接口 org.gradle.api.tasks.incremental.IncrementalTaskInputs 不是有效的 操作方法的参数。
我添加了编译器设置:
--warning-mode=all --stacktrace
按照日志中的指示,但结果并不表明哪一行导致了问题,只给出了稍长的消息:
原因:org.gradle.api.GradleException:无法使用@TaskAction 方法 IncrementalTask.taskAction$gradle_core() 上的注释,因为 接口 org.gradle.api.tasks.incremental.IncrementalTaskInputs 是 不是操作方法的有效参数。
我读了这篇文章 Gradle Error - Could not call IncrementalTask.taskAction() on task ':project:mergeDebugResources' 并查找重复项,但找不到任何重复项。
我还阅读了这篇文章不能在方法 KaptWithoutKotlincTask.compile() 上使用 @TaskAction 注释并且我检查了所有依赖项并更新了它们,因此没有警告。
可能相关,我也看到了这个警告:
忽略指定的 Android SDK Build Tools 版本 (29.0.3),如下所示 它低于 Android Gradle 支持的最低版本 (30.0.3) 插件7.1.3.
但我将 build.gradle 中的设置更改为:
android {
compileSdkVersion 31
buildToolsVersion "30.0.3"
...
}
要在 android studio ladybug 中运行旧项目,您需要在 gradle-wrapper.properties 文件中将 Gradle 版本更新为最低 7.2
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
并将 build.gradle(模块级别) 文件中的 Android Gradle 插件版本更新为最低 7.1.0
classpath 'com.android.tools.build:gradle:7.1.0'
它适用于我的带有 M2 的 macOS