【发布时间】:2022-01-15 18:41:31
【问题描述】:
我有一个包含一些数据类的包,我试图在运行时使用 Kotlin 反射 clazz.primaryConstructor 访问构造函数,
一切都按预期工作,但是当我启用 R8 时,数据类元数据被删除,例如,当我检查 KClass isData 是否返回 false 并且主构造函数也是 null 时,这仅在启用 R8 时发生。
我尝试了所有方法,包括向所有数据类添加 @keep 注释并添加规则以将所有内容保留在模型包中,我还添加了这些规则
-keep class kotlin.reflect.**
-keep class kotlin.Metadata { *; }
但仍然没有运气,知道出了什么问题或如何解决这个问题吗?
提前致谢。
【问题讨论】:
标签: android kotlin proguard android-r8 kotlin-reflect