惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
U
Unit 42
Y
Y Combinator Blog
I
InfoQ
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
量子位
Microsoft Security Blog
Microsoft Security Blog
B
Blog
The Cloudflare Blog
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
C
Check Point Blog
S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
T
Tailwind CSS Blog

博客园 - sikewang

Gradle的init.d的init.gradle , init.d的位置 , x.gradle或x.gradle.kts的位置 maven wrapper 介绍及使用详解 Plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '4.2.1'] was not found in any of the following sources: JEnv-for-Windows 安装与使用 jenv报错无法加载文件jenv.ps1 Warning! PATH is not properly set up, /Users/i/.rvm/gems/ruby-3.3.0/bin is not at first place.摘抄整理 mac上如何用fvm设置全局Flutter SDK? fvm Flutter多版本管理安装与常用指令 JVM_XMS 和 java_opts哪种写法对?如何在JVM中设置JVM_XMS和java_opts? Elastic Search 安装部署最全教程(Docker) VMware中Ubuntu配置固定IP 下载Android SDK tools完成Android SDK 安装、配置环境变量 Oracle JDK究竟从哪个版本开始收费? 报红 import 'package:http/http.dart' as http; import 'package:date_format/date_format.dart'; Flutter doctor CSRF攻击与防御 windows查看文件/夹被哪个进程占用以及解除方法 windows上安装nvm-noinstall.zip 修改chrome用户数据的路径
Inconsistent JVM-target compatibility detected for tasks ...
sikewang · 2025-10-31 · via 博客园 - sikewang

flutter 错误信息:
Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (1.8) and 'compileDebugKotlin' (17).

解决方法:

不用更改android的plugin,因为问题根本没出在这里,网上的答案都是错误的
不用更改android的plugin,因为问题根本没出在这里,网上的答案都是错误的
不用更改android的plugin,因为问题根本没出在这里,网上的答案都是错误的

你只需要强制所有的包指定Kotlin版本即可。

更改android目录下的build.gradle

 1 allprojects {
 2     repositories {
 3         gradlePluginPortal()
 4         google()
 5         mavenCentral()
 6     }
 7 
 8     // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加
 9     subprojects {
10         afterEvaluate { project ->
11             if (project.hasProperty('android')) {
12                 project.android {
13                     if (namespace == null) {
14                         namespace project.group
15                     }
16                 }
17             }
18         }
19     }
20     // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加
21 
22     // 强制指定Kotilin版本
23     subprojects {
24         project.buildDir = "${rootProject.buildDir}/${project.name}"
25         afterEvaluate {
26             if (it.hasProperty('android')) {
27                 if (it.android.namespace == null) {
28                     def manifest = new XmlSlurper().parse(file(it.android.sourceSets.main.manifest.srcFile))
29                     def packageName = manifest.@package.text()
30 //                    println("Setting ${packageName} as android namespace")
31                     android.namespace = packageName
32                 }
33                 // 指定Kotilin版本
34                 def javaVersion = JavaVersion.VERSION_17
35                 android {
36                     compileOptions {
37                         sourceCompatibility javaVersion
38                         targetCompatibility javaVersion
39                     }
40                     tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
41                         kotlinOptions {
42                             jvmTarget = javaVersion.toString()
43                         }
44                     }
45 //                    println("Setting java version to ${javaVersion.toString()} which is $javaVersion")
46                 }
47             }
48         }
49     }
50     // 强制指定Kotilin版本
51     
52     subprojects {
53         project.evaluationDependsOn(':app')
54     }
55 }

View Code

它会指定所有子项目Kotlin使用的版本为17,其他版本对照修改即可。

参考资料:https://github.com/flutter/flutter/issues/125181