为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复 androidstudio 发布版本中的“类 dgb$a 中没有公共 dispose()

如何修复 androidstudio 发布版本中的“类 dgb$a 中没有公共 dispose()

ITMISS 2024-01-25 15:22:44
在调试版本中编译我的应用程序时,我没有收到任何错误。但是当在发行版中编译时,我收到运行时错误。我不知道到底从哪里开始,因为所有的指针都指向一个未知的来源。我无法复制此错误,因为如前所述,所有指针都没有帮助,所以我不知道问题来自何处/何处下面是运行时错误。2019-11-02 21:12:45.696 22451-22471/? E/AndroidRuntime: FATAL EXCEPTION: GLThread 37524    Process: flappy.birb, PID: 22451    java.lang.RuntimeException: There is no public dispose() method in the class d.g.b$a        at d.c.a.c(Unknown Source:5)        at d.c.a.b(Unknown Source:99)        at d.c.a.a(Unknown Source:64)        at d.g.b.<init>(Unknown Source:203)        at d.g.b.a(Unknown Source:6)        at d.g.g.<init>(Unknown Source:10)        at d.g.a.<init>(Unknown Source:0)        at d.g.f.<init>(Unknown Source:0)        at flappy.birb.a.v0(Unknown Source:4)        at flappy.birb.a.f0(Unknown Source:3)        at flappy.birb.a.S(Unknown Source:16)        at d.c.a.u(Unknown Source:62)        at d.f.j$b.onDrawFrame(Unknown Source:13)        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1580)        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1275)这不是空指针错误,因此建议的帖子没有帮助。如果它是一个空指针,我会在我的调试版本中得到它,正如前面所说,这不会发生。你必须正确配置混淆器。如果你使用过外部库,也复制他们的 proguard 规则 -Touhidul Islam.似乎有人对代码运行了混淆器,但做得不对。如果你的代码被混淆了?– 安德烈亚斯
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

看来你proguard只是清理那个来源。将下一个配置添加到您的proguard文件中。

-keep class <class where dispose is called>.** {
  *;
  }

更新:

为了确保这不是proguard问题,您需要手动禁用它。尝试为您的构建类型设置下一个选项。

    minifyEnabled false
    useProguard false


查看完整回答
反对 回复 2024-01-25
  • 1 回答
  • 0 关注
  • 32 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信