flutter项目打包 apk时遇到下面的错误:
这是因为Kotlin版本不一致导致的,可在andiord/build.gradle里面强制指定使用Kotlin17版本即可解决
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()
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()
}
}
}
}
}
}
注:修改完第一次打包可能出现报错,不用管,再来一次即可。
参考资料:https://github.com/flutter/flutter/issues/125181