Flutter项目运行报错:无法创建KotlinAndroidTarget实例及Java版本不兼容
解决Flutter项目中Kotlin插件与AGP的Java版本不兼容错误
近期更新Flutter、Dart、Java及Android Studio到最新版本后,执行flutter run时触发Kotlin相关构建错误,核心原因是Android Gradle Plugin(AGP)8.1.2需要Java 17运行环境,但当前使用的是Java 11(JDK路径:/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home)
当前配置
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
app/build.gradle
ext.kotlin_version = '1.9.10' dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Add other dependencies here as needed }
android/build.gradle
ext.kotlin_version = '1.9.10' dependencies { classpath 'com.android.tools.build:gradle:8.1.2' // Android Gradle Plugin classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Kotlin Gradle Plugin classpath 'com.google.gms:google-services:4.4.0' // Google Services Plugin }
报错信息
What went wrong: An exception occurred applying plugin request [id: 'kotlin-android'] > Failed to apply plugin 'kotlin-android'. > Could not create an instance of type org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget. > Could not generate a decorated class for type KotlinAndroidTarget. > com/android/build/gradle/api/BaseVariant
解决方法
针对AGP需要Java 17的核心问题,可通过以下三种方式修复:
- 修改IDE设置:打开Android Studio,进入
File > Project Structure > SDK Location,在JDK location处选择已安装的Java 17路径,保存后重新构建项目。 - 修改JAVA_HOME环境变量:
- macOS/Linux:终端执行
export JAVA_HOME=/path/to/java17临时生效;或修改~/.bash_profile/~/.zshrc文件添加该配置,再执行source ~/.bash_profile/source ~/.zshrc永久生效。 - Windows:在系统环境变量中设置
JAVA_HOME为Java 17的安装路径,重启终端后生效。
- macOS/Linux:终端执行
- 修改gradle.properties配置:在项目的
gradle.properties文件中添加一行:
替换org.gradle.java.home=/path/to/java17/path/to/java17为实际的Java 17安装路径,保存后重新运行flutter run。
内容的提问来源于stack exchange,提问作者Trevor Prime
相关产品推荐
相关产品推荐

