Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出现错误

2024-01-05

我刚刚更新到Android Studio Flamingo | 2022.2.1。现在我得到这个错误:

Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
  Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain

我正在使用包含 Kotlin 的 AS1.8.0但是这个工作正常与AGP7.4.2和摇篮7.5- 它只是随着来自 AS Flamingo 的 Gradle 和 AGP 更新而中断。还:

  • 如果我将 Kotlin 降级为1.7.20它又起作用了
  • 如果我将 Kotlin 更新为1.8.20它给出了上面的错误

我确实有编译选项:

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }

我也尝试了示例 AS 应用程序,但它们有 Kotlin1.7.20。他们将与 Kotlin 合作1.8.0 too - unless你介绍kapt在依赖中! (例如匕首)

那么什么组合应该有效(包括 kapt)并且具有 Android Studio 的最新稳定推荐版本?

  • Android Studio 版本?
  • AGP版本?
  • 摇篮版本?
  • 科特林版本?

请不要未经测试的答案。我知道它“应该”有效,但事实并非如此。


最新的 Android Gradle 插件与 Kotlin kapt 之间存在兼容性问题。结果,jvmTarget您在 Android 配置中指定的内容将在 Kotlin 编译任务上设置,但不会在 kapt 任务上设置,默认情况下,kapt 任务使用工具链版本(当前为 JDK 17)。

作为解决方法,设置jvmTarget手动执行 kapt 任务(在您的情况下,目标是 Java 1.8):

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs).configureEach {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出现错误 的相关文章

随机推荐

  • 如何将lucene文件从2.2升级到4.3.1

    我在 lucene V 2 2 中有大量索引数据 并且我已将 lucene jar 升级到 4 3 1 新版本支持升级2 2文件 如果是 我该怎么做 Lucene 保证索引向后兼容以前的主要版本 这意味着 Lucene 4 X 应该能够读取
  • 如何将 CSS 动画导出为动画 PNG、gif 或 WEBP *具有透明度*?

    Press 运行代码片段 下面可以看到我想要保存的动画加载微调器 我想用透明度替换所有绿色 另外 我希望动画能够完美循环 我尝试使用OBS录制屏幕截图视频 然后上传到https ezgif com video to gif https ez
  • Bootstrap对齐不同高度的列

    我希望能够将未知数量的列与未知的高度对齐 由于我不知道会有多少列 因此使用多行来分割列对我来说并不理想 我几乎可以通过使用列表项来达到我想要的结果 我不喜欢使用列表项的一件事是 一旦页面达到调整大小点 我就会在右侧留下额外的空间 顶部的一组
  • edge-sql.js 如何设置connectionString?

    var edge require edge var getProduct edge func sql function select from Products where ProductId myProductId getProduct
  • pandas 将多列索引应用于数据框

    情况是我有一些文件 其中包含具有多个字段的各种股票的 time series 数据 每个文件包含 time open high low close volume 目标是将所有内容放入表单的一个数据框中 field open high sec
  • cmake 在命令行上创建 Visual Studio 解决方案

    我使用的是cmake 2 6 4 WinXP专业版 在 Visual studio 2008 VC Express 版本上编译 我可以使用 cmake GUI 创建解决方案文件 但是 我不想使用 cmake GUI 因为我总是更喜欢命令行
  • 使用 --experimental-specifier-resolution=node 时如何让 yargs 自动完成工作

    我的目标是在 Typescript node js 中编写一个 CLI 它使用 experimental specifier resolution node 用 yargs 编写 支持自动完成 为了使这项工作正常进行 我使用这个entry
  • 在fabric.js中编写乳胶公式

    我希望能够在 Fabric js 画布中用乳胶编写公式 也许可以使用 MathJax http fabricjs com fabric intro part 2 text http fabricjs com fabric intro par
  • 如何检查“调试器”是否存在关键字存在吗?

    有时一些开发人员忘记删除debugger 在 javascript 代码中 它会在 IE 上产生 javascript 错误 你如何检查 例如控制台 if window console console log foo 如果调试器存在 顺便说
  • Visual Studio 2010 中的 UML 图生成器

    我的教授要求我们为下一个作业生成 UML 我们使用 Visual Studio 2010 进行 C 编程 我尝试解决它 但我无法弄清楚 我转到 体系结构 gt Windows gt UML 模型资源管理器 但不明白下一步该去哪里 UML 生
  • Spring boot MVC:找不到JSP

    Problem 我无法到达下面的视图WEB INF jsp在我的 Spring Boot Web MVC 应用程序上 我做了什么 这是我的 JSP
  • 在 R 中绘制多个图时更改图的大小

    我想知道当您使用 par mfrow c 函数绘制不同的图时 是否有一种方法可以定义 R 中图的大小 举一个简单的例子 par mfrow c 3 1 plot 1 2 plot 1 2 plot 1 2 所有地块都具有相同的大小 例如 是
  • C# 中小型集合的 List.Add 与 HashSet.Add

    Given HashSet
  • 如何在 postgres 中将多个值收集为单个字符串?

    我有桌子 Project table id name 1 A 2 B Assignment table id name project id 1 A1 1 2 A2 1 3 A3 2 我希望编写一个查询 返回每个项目以及从中创建的作业的名称
  • Laravel:不同路径的不同 api 速率限制

    我需要为不同的路径设置不同的速率限制 敌人的例子 On path users我希望每分钟 60 个请求的速率限制 而路径 stats我希望速率限制为每分钟 5 个请求 我尝试了下一种方法 Route group middleware gt
  • 在这种代码中“Select 0 from”在做什么?

    有人可以帮我理解 从以下位置选择 0 是什么意思吗 delete from table1 where cond1 and cond2 and cond3 and not exists select 0 from table2 where c
  • 读取空行 C++

    我遇到的情况是 我有一个循环 每次它读取一个字符串 但我不知道如何读取空白输入 即如果用户什么都不输入并按回车键 它会保留在那里 我想将其读取为字符串并移至下一个输入 下面是代码 int times 4 while times string
  • 如何在 JSON 模式中使用定义 (draft-04)

    我正在使用的其余服务响应类似于以下示例 我在这里仅包含 3 个字段 但还有更多字段 results type Person name Mr Bean dateOfBirth 14 Dec 1981 type Company name Pi
  • 指定 wct-local 测试的浏览器位置

    Polymer 入门套件包含用于对自定义元素进行单元测试的 Web 组件测试器 In wct conf json您可以指定运行测试的浏览器 suites app test plugins local browsers firefox 不幸的
  • Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出现错误

    我刚刚更新到Android Studio Flamingo 2022 2 1 现在我得到这个错误 Execution failed for task app kaptGenerateStubsDebugKotlin gt compileDe