用户云卷云舒 发表于 2024-11-24 14:05:04

detected for tasks ‘compileDebugJavaWithJavac‘ (1.8) and ‘compileDe

flutter 错误信息:
Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (1.8) and 'compileDebugKotlin' (17).
办理方法:
不用更改android的plugin,由于题目根本没出在这里,网上的答案都是错误的
不用更改android的plugin,由于题目根本没出在这里,网上的答案都是错误的
不用更改android的plugin,由于题目根本没出在这里,网上的答案都是错误的
你只必要强制所有的包指定Kotlin版本即可。
更改android目录下的build.gradle:
allprojects {
    repositories {
      gradlePluginPortal()
      google()
      mavenCentral()
    }

    // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加
    subprojects {
      afterEvaluate { project ->
            if (project.hasProperty('android')) {
                project.android {
                  if (namespace == null) {
                        namespace project.group
                  }
                }
            }
      }
    }
    // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加

    // 强制指定Kotilin版本
    subprojects {
      project.buildDir = "${rootProject.buildDir}/${project.name}"
      afterEvaluate {
            if (it.hasProperty('android')) {
                if (it.android.namespace == null) {
                  def manifest = new XmlSlurper().parse(file(it.android.sourceSets.main.manifest.srcFile))
                  def packageName = manifest.@package.text()
//                  println("Setting ${packageName} as android namespace")
                  android.namespace = packageName
                }
                // 指定Kotilin版本
                def javaVersion = JavaVersion.VERSION_17
                android {
                  compileOptions {
                        sourceCompatibility javaVersion
                        targetCompatibility javaVersion
                  }
                  tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
                        kotlinOptions {
                            jvmTarget = javaVersion.toString()
                        }
                  }
//                  println("Setting java version to ${javaVersion.toString()} which is $javaVersion")
                }
            }
      }
    }
    // 强制指定Kotilin版本
   
    subprojects {
      project.evaluationDependsOn(':app')
    }
}
它会指定所有子项目Kotlin利用的版本为17,其他版本对照修改即可。
参考资料:https://github.com/flutter/flutter/issues/125181

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: detected for tasks ‘compileDebugJavaWithJavac‘ (1.8) and ‘compileDe