【问题标题】:FATAL EXCEPTION: main java.lang.VerifyError致命异常:主要 java.lang.VerifyError
【发布时间】:2013-05-29 09:08:30
【问题描述】:

我正在各种模拟器 Kindle Fire 上测试我的应用程序,但在这款平板电脑上我遇到了很大的问题。该应用程序总是因以下 LogCat 而崩溃:

E/AndroidRuntime(368):  FATAL EXCEPTION: main
E/AndroidRuntime(368):  java.lang.VerifyError: it.bisemanuDEV.mathTools.Calculator
E/AndroidRuntime(368):  at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(368):  at java.lang.Class.newInstance(Class.java:1409)
E/AndroidRuntime(368):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(368):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
E/AndroidRuntime(368):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime(368):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(368):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime(368):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(368):  at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(368):  at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(368):  at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(368):  at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(368):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(368):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(368):  at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 您是否在使用 Google API,例如 Google Play 服务库中的某个东西。我用谷歌驱动器有这个,这是因为我没有导出所需的库或正确引用它们,因为它们更改了 SDK 版本
  • @Boardy 我尝试在低于 11 的 api 级别上运行应用程序时遇到相同的错误。验证错误,我也删除了不推荐使用的方法。并禁止警告注释..知道为什么吗?
  • @Boardy 你能详细说明一下吗(如果你记得的话)?我面临着同样的问题......

标签: android android-emulator kindle-fire


【解决方案1】:

您首先查看 LogCat 并查看导致验证错误的原因。

It's probably some method in a java.lang class that is not supported on the android SDK level you are using.

更多信息请参考this link。希望这对您有所帮助。

【讨论】:

  • Firebase 只报告了一台设备是 Android 12,最新的稳定 API,这怎么可能?从 Android 6 到 Android 12 的所有其他设备都可以正常工作(15 万用户)
【解决方案2】:

您可能使用的较低版本的 SDK 不支持您的类中的某些方法。删除您可能对您的类或类中的特定方法拥有的任何 @Supresslint 或 @targetApi 注释,eclipse 将为您标记那些需要特定最低 SDK 级别的方法。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,我解决了排除案件。

    但基本上您可能会收到此错误的三个主要原因:

    1. (在我的情况下)我尝试在 API 级别低于 10 的设备上运行我的应用程序时一直收到 VerifyError,因为我试图捕获 Android API 级别支持的 SQLiteDatabaseLockedException 11. 为了解决这个问题,请检查您的最低 API 级别是否支持每个异常或可能的方法(即 API 级别 9 支持 String.isEmpty())。

    2. 在我寻找解决方案时,我发现很多人收到了 VerifyError,因为库导入存在一些问题,正如这篇文章所述:http://commonsware.com/blog/2013/05/23/do-not-manually-modify-eclipse-build-path-except-now-r22.html

    3. 查看 sayed.jalil 的答案。

    希望这会有所帮助!

    再见! 毛虫。

    【讨论】:

      猜你喜欢
      • 2012-03-04
      • 2018-04-30
      • 2012-06-02
      • 2012-09-08
      • 2014-02-07
      • 2012-10-12
      • 2014-04-15
      • 1970-01-01
      相关资源
      最近更新 更多