You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 14 Beta项目构建报错:@TaskAction注解使用异常

解决Android 14 Beta环境下构建错误:Cannot use @TaskAction annotation on method KaptWithoutKotlincTask.compile()

问题信息

报错内容:Cannot use @TaskAction annotation on method KaptWithoutKotlincTask.compile() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method
项目配置:

tools_versions = [
        kotlin      : '1.9.0',
        agp         : '8.0.2',
        minSdk      : 21,
        compileSdk  : 34,
        targetSdk   : 34,
        sonarScanner: "3.0",
        ndk         : "21.0.6113669"
]

核心原因

Gradle 8.x 对增量任务的API进行了废弃与变更,IncrementalTaskInputs 参数不再被@TaskAction方法支持,而项目中使用的kapt插件、注解处理器或第三方插件仍在调用旧API,导致版本兼容性冲突。

具体修复步骤

  • 升级Kotlin版本
    将Kotlin版本从1.9.0升级到1.9.20或更高(推荐1.9.22),后续小版本修复了与AGP 8.0.x的适配问题:

    kotlin: '1.9.22'
    
  • 更新注解处理器版本
    检查项目中使用的注解处理器(如Room、Dagger等),确保版本适配Gradle 8.x和AGP 8.0:

    • Room 至少使用2.5.0及以上
    • Dagger 至少使用2.47及以上
      示例Room依赖配置:
    implementation "androidx.room:room-runtime:2.5.2"
    kapt "androidx.room:room-compiler:2.5.2"
    
  • 替换kapt为KSP(推荐方案)
    若注解处理器支持KSP(Kotlin Symbol Processing),替换kapt为KSP——官方推荐的kapt替代方案,兼容性更优:

    1. 在项目根目录build.gradle中添加KSP插件:
      plugins {
          id 'com.google.devtools.ksp' version '1.9.22-1.0.17' apply false
      }
      
    2. 在模块build.gradle中替换kapt为ksp:
      // 替换原kapt依赖声明
      ksp "androidx.room:room-compiler:2.5.2"
      
  • 排查第三方插件兼容性
    检查项目中使用的自定义构建插件或第三方插件,确认其是否适配Gradle 8.x,若存在老旧插件,升级或替换为兼容版本。

  • 清理构建缓存
    执行以下命令清理缓存并重新构建,避免缓存引发的异常:

    ./gradlew clean build --no-build-cache
    

内容的提问来源于stack exchange,提问作者ArdianBe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:37:45