Booster 又双叒叕发布了新的版本—— v4.15.0,本次更新内容如下:

升级注意事项

Kotlin 版本兼容性问题

由于 Booster 的 Kotlin 版本已经升级到 1.5,如果使用 Booster 的工程 Kotlin 低于 1.5 的话,可能会存在 API 兼容性问题,建议升级 Kotlin 至 1.5.31

FAQ

NoSuchMethodError: ‘void kotlin.jvm.internal.FunctionReferenceImpl.(int, java.lang.Class, java.lang.String, java.lang.String, int)’

造成该问题的根本原因是由于 Kotlin 1.3 和 Kotlin 1.5 的编译器对于「方法引用」的处理方式不同导致,解决该问题的方法是加上编译选项 -Xno-optimized-callable-references,例如:

1
2
3
4
5
6
7
compileKotlin {
kotlinOptions{
jvmTarget = JavaVersion.VERSION_1_8
apiVersion = "1.5"
freeCompilerArgs = ["-Xno-optimized-callable-references"]
}
}

或者:

1
2
3
4
5
6
7
tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
apiVersion = "1.5"
freeCompilerArgs = listOf("-Xno-optimized-callable-references")
}
}

参见:Release Notes
参见:API Rereference
参见:深入理解 Booster