如何解决为 dataClass 指定的未知类 - ProGuard
我需要一些帮助,我已经激活了代码混淆的 proguard,但是当我启动应用程序时,崩溃并 logcat 打印:
java.lang.RuntimeException: Unable to create application eu.reply.lea.mobile.core.showcase.ShowcaseApplication: java.lang.IllegalArgumentException: UnkNown class specified for dataClass: eu.reply.lea.mobile.core.oldies.entity.User
...
Caused by: java.lang.IllegalArgumentException: UnkNown class specified for dataClass: eu.reply.lea.mobile.core.oldies.entity.User
在 proguard 文件中,我添加了这一行,但没有任何改变。
-keepclassmembernames class eu.reply.lea.mobile.core.oldies.entity.User {
public *;
}
-keepclassmembernames class eu.reply.lea.mobile.core.showcase.ShowcaseApplication {
public *;
}
尝试在用户中添加 @keep 和 @keepnames 注释,但没有任何改变。
我该如何解决这个问题?
谢谢大家!
解决方法
出现这些错误的原因可能有两个:
- 这个类因为缩小而被移除
- 这个类依赖反射
我建议将以下规则添加到您的 proguard 配置文件中:
-keep class eu.reply.lea.mobile.core.oldies.entity.User
可以在 here 中找到一个有用的工具,您可以用来检查在定义此保持规则时代码的哪些部分会受到影响。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。