仅在 LG 智能手机上出现 VerifyError

时间:2021-02-01 18:32:50

标签: android

我在 google Play 商店 (Vocalizzo Lite) 中有一个应用程序,最新版本崩溃了

java.lang.VerifyError: at java.lang.Class.newInstance (Class.java) at 
android.app.AppComponentFactory.instantiateActivity (AppComponentFactory.java:69) at 
androidx.core.app.CoreComponentFactory.instantiateActivity (CoreComponentFactory.java) at 
android.app.Instrumentation.newActivity (Instrumentation.java:1216) at 
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2932) at 
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3156) at 
android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) at 
android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) at 
android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) at 
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1864) at android.os.Handler.dispatchMessage (Handler.java:106) at 
android.os.Looper.loop (Looper.java:205) at 
android.app.ActivityThread.main (ActivityThread.java:6991) at 
java.lang.reflect.Method.invoke (Method.java) at 
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run 
(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main 
(ZygoteInit.java:884)

我在这个调用堆栈中没有看到我自己的类。失败只发生在 LG 设备上,这对我来说也很奇怪(LGE LG G7 ThinQ、LGE LG Stylo 5、LGE Q8 等等,11 种不同的型号,SDK api 28 和 29)。任何想法如何调查这个?

亲切的问候...

更新:我有一个物理 LG 设备,可以使用调试器启动我的应用程序。我有一些奇怪的错误,但它们是不同的。如果我只是在其上运行调试版本类型,我会得到:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ru.vitvlkv.vocalizzo.lite, PID: 30139
    java.lang.NoSuchMethodError: No virtual method getTracks()Ljava/util/List; in class Lcom/leff/midi/MidiFile; or its super classes (declaration of 'com.leff.midi.MidiFile' appears in /system/framework/framework.jar:classes2.dex)
        at ru.vitvlkv.vocalizzo.util.MidiUtils.writeToStream(MidiUtils.java:43)
        at ru.vitvlkv.vocalizzo.util.MidiUtils.clone(MidiUtils.java:28) ...

这很奇怪,因为这是我代码库中的一个类,并且有一个方法 getTracks()。

如果我在调试模式下启动应用程序,那么调试器会捕获: SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x0)) 这可能是我在应用程序中使用的本机库中的问题(以及所有其他奇怪内容的根本原因?..)。

现在有什么关于如何调试的建议吗?..

0 个答案:

没有答案
相关问题