【发布时间】:2020-04-19 21:07:14
【问题描述】:
在我的颤振应用程序中,我有一个 kotlin 库依赖项。在 android 文件夹的主要活动中,我正在调用库的函数之一,其中有一个 lambda。
例如:a.b.c.Util.someFunction$1
我从 MainActivity 调用“someFunction”并且它崩溃了,因为它说它找不到“$1”类。我知道 kotlin 为每个 lambda 创建一个类并将其命名为这样(带有 $ 符号)。
有趣的事实是,该应用在我的 android 7 设备上运行,但在 android 4 和 5 设备上崩溃。
我最好的猜测是,我使用版本 8 的源代码兼容性进行 kotlin 编译器,它生成与 java 8 兼容的字节码,因此较低的设备不支持它,但即使将其降级到版本 6 也没有解决问题
我在 build.gradle 中添加了 multidex 支持并扩展了 FlutterApplication 并在我的 Application 类中调用了 Multidex.install(this) 并在清单中替换了我的 Application 类
【问题讨论】: