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

打印 上一主题 下一主题

主题 845|帖子 845|积分 2535

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.     // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加
  8.     subprojects {
  9.         afterEvaluate { project ->
  10.             if (project.hasProperty('android')) {
  11.                 project.android {
  12.                     if (namespace == null) {
  13.                         namespace project.group
  14.                     }
  15.                 }
  16.             }
  17.         }
  18.     }
  19.     // 修复由于高版本导致namespace检测为空的问题,没遇到可不添加
  20.     // 强制指定Kotilin版本
  21.     subprojects {
  22.         project.buildDir = "${rootProject.buildDir}/${project.name}"
  23.         afterEvaluate {
  24.             if (it.hasProperty('android')) {
  25.                 if (it.android.namespace == null) {
  26.                     def manifest = new XmlSlurper().parse(file(it.android.sourceSets.main.manifest.srcFile))
  27.                     def packageName = manifest.@package.text()
  28. //                    println("Setting ${packageName} as android namespace")
  29.                     android.namespace = packageName
  30.                 }
  31.                 // 指定Kotilin版本
  32.                 def javaVersion = JavaVersion.VERSION_17
  33.                 android {
  34.                     compileOptions {
  35.                         sourceCompatibility javaVersion
  36.                         targetCompatibility javaVersion
  37.                     }
  38.                     tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
  39.                         kotlinOptions {
  40.                             jvmTarget = javaVersion.toString()
  41.                         }
  42.                     }
  43. //                    println("Setting java version to ${javaVersion.toString()} which is $javaVersion")
  44.                 }
  45.             }
  46.         }
  47.     }
  48.     // 强制指定Kotilin版本
  49.    
  50.     subprojects {
  51.         project.evaluationDependsOn(':app')
  52.     }
  53. }
复制代码
它会指定所有子项目Kotlin利用的版本为17,其他版本对照修改即可。

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表