在調試版本中編譯我的應用程序時,我沒有收到任何錯誤。但是當在發行版中編譯時,我收到運行時錯誤。我不知道到底從哪里開始,因為所有的指針都指向一個未知的來源。我無法復制此錯誤,因為如前所述,所有指針都沒有幫助,所以我不知道問題來自何處/何處下面是運行時錯誤。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
添加回答
舉報
0/150
提交
取消