我们的应用程序中有一些使用Java的代码,而其他使用Kotlin的代码。我们遇到了一个非常奇怪的情况。
问题出现在某些设备上,尽管我们检查了platform
是否不是{{,但它在将null
传递给AutoValue_Session
构造函数时报告为lastPlatform
。 1}},并提供常量null
,否则:
Platform.MISSING
有人遇到过Android和Kotlin互操作的问题吗?
更新:这种情况非常普遍,用户数量很少。还不能在本地复制它。
更新2:对Caused by java.lang.NullPointerException: Null lastPlatform
x.x.x.x.AutoValue_Session.(SourceFile:27)
x.x.x.x.Session.from(SourceFile:28) // from that calls the child constructor
x.x.x.x.Session.(SourceFile:22) // whereNONE_FOUND is defined
x.x.x.x.Session.from(SourceFile:32) // entry point
[...]
的第二次调用是由Session.from
的{{1}}引起的,这是第一次被加载到内存中。>
这是上述两个类的代码:
Platform.kt
<clinit>
Session.java
Session