在一个多模块 Android 项目中,在项目的一个模块中,我在 Gradle中将 minifyEnabled设置为 true。当应用程序使用该模块中的一个类时,我遇到了这个异常,该类实现了一个包含具有默认值的方法的接口。例如,该模块包含以下接口及其实现:
interface MyInterface {
fun method1(parm: String)
fun method2(parm1: String, parm2: Int = 100)
}
如果应用程序调用实现的方法 1,它就可以工作。但是仅使用第一个参数调用 method2 会使应用程序因上述错误而崩溃。如果用两个参数调用它就可以工作。仅当 minifyEnabled 为 true 时才会发生。我尝试了几个 ProGuard 规则无济于事。还尝试使用 Kotlin 编译器标志“-Xjvm-default=all”。显然是 ProGuard 规则(实际上是 R8)。有没有人遇到过同样的问题?