解决AGP升级到8.0后编译报错kaptGenerateStubsDebugKotlin

问题描述

升级了Gradle插件到8.0,运行报以下错误.

shell 复制代码
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

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

解决方案

看错误是Kapt和java版本不兼容,根据提示的网站地址(https://kotl.in/gradle/jvm/toolchain),AGP版本小于8.1.0,需要显式的设置jdk的兼容版本。如果不指定版本,Android默认使用的是JDK1.8。

shell 复制代码
A warning for Android users. To use Gradle toolchain support, use the Android Gradle plugin (AGP) version 8.1.0-alpha09 or higher.

Gradle Java toolchain support is available only from AGP 7.4.0. Nevertheless, because of this issue, AGP did not set targetCompatibility to be equal to the toolchain's JDK until the version 8.1.0-alpha09. If you use versions less than 8.1.0-alpha09, you need to configure targetCompatibility manually via compileOptions. Replace the placeholder <MAJOR_JDK_VERSION> with the JDK version you would like to use:

android {
    compileOptions {
        sourceCompatibility = <MAJOR_JDK_VERSION>
        targetCompatibility = <MAJOR_JDK_VERSION>
    }
}

打开app的build.gradle,在android块中添加以下代码,设置java的版本为本地对应的版本,因为我本地的是17,所以都为17.

gradle 复制代码
android {
	....
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'
    }
    ....
}

重新运行,报错消失。

相关推荐
葱段4 分钟前
Flutter 设置Android System Navigation/Status Bar背景色
android·flutter
半条-咸鱼22 分钟前
如何通过 ADB 连接安卓设备(USB + 无线 TCP/IP)
android·adb
vonlycn27 分钟前
Android Studio 5.3.3 新项目编译报错解决
android·ide·android studio
fengci.31 分钟前
php反序列化(复习)(第二章)
android·开发语言·学习·php
sickworm陈浩36 分钟前
为 300W 行的安卓老工程落地可迭代的 AI 知识库
android·ai编程
jwn99941 分钟前
Laravel 9.x重磅新特性解析
android
木子予彤1 小时前
Android 性能诊断 V2:基于 Agent Skill 的原生 IDE 融合架构
android·ai编程
木子予彤1 小时前
基于 Perfetto 与 AI 的 Android 性能自动化诊断方案
android·ai编程
代龙涛1 小时前
WordPress 首页模板怎么写(index.php 与 front-page.php)
android·php·android studio
羊羊20351 小时前
开发手札:Unity6000与Android交互
android·unity·android-studio