查找 java.lang.VerifyError 的来源 - 在 Cordova 平台上

Find source of java.lang.VerifyError - on Cordova platform

我正在将 Cordova 用于移动应用程序 - 我不是 Android 开发人员。但是,在一些较旧的设备上,即 Samsung Galaxy S3,出现以下错误。在其他设备上,该应用程序运行无误。这与SDK冲突有关吗?知道去哪里看吗?

 FATAL EXCEPTION: main
 java.lang.VerifyError: com/google/android/apps/mtaas/util/instrumentations/DumpPackageStats
    at java.lang.Class.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1130)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4622)
    at android.app.ActivityThread.access00(ActivityThread.java:159)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:5419)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
    at dalvik.system.NativeStart.main(Native Method)

在我的 config.xml 中(如果这很重要的话)我设置了最小 sdk 值:

<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="19" />

I read that, "java.lang.VerifyError can be the result when you have compiled against a different library than you are using at runtime." 也许有办法检查这个?

经过多次头痛之后,我发现您需要在 config.xml 文件中设置更高的 Android SDK 版本:

<preference name="android-minSdkVersion" value="16" />

就我而言,从版本 14 升级到版本 16 就成功了。