AGP 8.0 解决 ‘kaptGenerateStubsDebugKotlin‘ task (current target is 17) 问题

这篇具有很好参考价值的文章主要介绍了AGP 8.0 解决 ‘kaptGenerateStubsDebugKotlin‘ task (current target is 17) 问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AGP 升级到 8.0 后,运行项目出现了下面的问题:

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

从 log 上看:编译 java 代码的目标版本是 1.8,而 kotlin 注解任务的目标版本是 17,由于版本不一致,所以编译失败。但是,kotlin 和 java 的 target 已经在 build.gradle 文件中设置成 1.8 了,设置方式如下:

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

难道这里 kotlinOptions 对 kotlin 的注解任务不起作用?根据 log 提示,从 https://kotl.in/gradle/jvm/toolchain 中看到了 kotlin 新的设置方式:

kotlin {
    jvmToolchain {
        languageVersion.set(JavaLanguageVersion.of(<MAJOR_JDK_VERSION>))
    }
    // Or shorter:
    jvmToolchain(<MAJOR_JDK_VERSION>)
    // For example:
    jvmToolchain(8)
}

所以,只需要在 android 节点下加入

kotlin {
	jvmToolchain(8)
}

即可。

当然还可以在 build.gradle 中添加以下代码来遍历 kotlin 的编译任务,然后把 jvmTarget 设置成 1.8:文章来源地址https://www.toymoban.com/news/detail-508493.html

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile.class){
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

到了这里,关于AGP 8.0 解决 ‘kaptGenerateStubsDebugKotlin‘ task (current target is 17) 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • *Unity程序报错“缺少根元素msbuild\current\bin\microsoft.common.currentversion.targets“

    找到ImportAfter目录将其内文件全部删除即可解决问题 /*增爆 Rigidbody2D rigidbody2d;     Animator animator;     Bot_Ctrl2 Bot_Ctrl2;     App_Ctrl app_Ctrl;     Throwing_Knife_Ctrl throwing_Knife_Ctrl;     public GameObject projectilePrefab;     public ParticleSystem EatEffect;     //public ParticleSystem Strat;     Vector2 L

    2023年04月08日
    浏览(35)
  • QObject::moveToThread: Current thread(...) is not the object`s thread. Cannot move to target thread(

    最近在使用 conda 环境踩了个坑,运行 opencv 项目时弹出满屏的 Qthread 报错。 网上的解决方法大多是把 opencv-python 降级,或者 sudo 用包管理器安装到系统,但是都没有很彻底或者说优雅地解决问题。 问题描述 python 3.8 (conda) 环境下,运行 opencv 项目出现报错:QObject::moveToThread

    2024年02月11日
    浏览(52)
  • android studio 升级为小海豚-->火烈鸟 以及AGP 8 带来的 namespace 问题解决

    AGP 8 之前也就是 gradle-8.0之前的解决方式 这个其实不是studio的升级带来的,是gradle版本在7.4及以上出现的,因为我们的项目最后发版applicationId不会使用包名,会更改,7.4版本以上就会出现这个 namespace ,如果更改applicationId与namespace不一致就会导致问题,更改为一样的,但与实际包名不

    2024年02月12日
    浏览(87)
  • No target connected问题解决办法

    今天使用ST-LINK烧录程序的时候,出现No target connected的问题,问题页面如下: 可是刚刚才烧录成功一次,怎么突然就不好使了,首先查看Debug配置: 点击keil页面的小魔术棒: 点击Debug,选择ST-Link Debugger(如果你用的J-Link就选择相应的J-Link),点击后面的Settings: 选择ST-Link

    2024年02月13日
    浏览(82)
  • 学习笔记3-No target connected解决方法

    之前在keil上烧录程序时,出现了一些错误,比如:ST-LINK Connection error,USB communication error,No target connected。 经过长久的探索,结合几个blog,总结出以下方法,有一定概率成功。 首先检查对应接线是否接正确(SWDIO和SWCLK,3.3V接线一定要接对),杜邦线是否有松动,stlink是否

    2024年02月11日
    浏览(39)
  • 浪涌电流Inrush Current产生原因以及解决方案

    1、对Inrush Current电流的直观感受 当电灯在电路中工作时,如果突然启动马达或者变压器时,会出现电灯暗一下,此时电灯出现暗的情况就是因为马达或者变压器启动时,在电路中产生较大Inrush Current,具体分析可以参考下图: 当马达刚开始上电时,转子是静止的,处于正要启

    2024年02月03日
    浏览(40)
  • 在学习STM32出现“ no target connected ”的解决方法

    1、接线问题导致 在编译内容后,点击LOAD时显示“ no target connected ”,再网上找办法时说是因为ST-Link版本问题需要进行更新,更新完成后发现还是出现“ no target connected ”,后来经过仔细检查发现是我的STM32和ST-Link的线接错了 正确接线如下图所示: 接线正确后,即可成功下

    2024年02月07日
    浏览(45)
  • 已解决org.gradle.api.tasks.TaskExecutionException: Execution failed for task

    已解决org.gradle.api.tasks.TaskExecutionException: Execution failed for task org.gradle.api.tasks.TaskExecutionException: Execution failed for task org.gradle.api.tasks.TaskExecutionException: Execution failed for task的详细解决方法可能会因具体情况而异。 下滑查看解决方法 但通常情况下,这个错误是由于 Gradle 任务的执

    2024年02月08日
    浏览(37)
  • VScode中下载了插件但是无法找到SSH Target连接服务器的解决方法(CANNOT find SSH Target in remote explorer)

    VSCode版本vscode version:(version 1.82) 已下载扩展installed extensions: Remote - SSH v0.106.4 Remote - SSH: Editing Configuration Files v0.86.0 Remote Development v0.24.0 WSL v0.81.3         几天前我从pycharm转战vscode,在连接服务器时遇到了一些问题。根据一些较为古早的教程,应当下载上述的几个扩展插

    2024年04月25日
    浏览(45)
  • 遇到:opencv recipe for target ‘all‘ failed 错误应该如何解决

    遇到 \\\"opencv recipe for target \\\'all\\\' failed\\\" 错误通常是由于在编译OpenCV时出现了问题,导致编译失败。要解决这个问题,你可以尝试以下方法: 检查依赖项:确保你已经正确安装了OpenCV的所有依赖项。OpenCV在编译时可能需要一些其他的库和工具支持,如CMake、GCC等。请确保你已经按

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包