致命异常:main java.lang.VerifyError

问题描述:

我在各种模拟器Kindle Fire上测试我的应用程序,但在这款平板电脑上我遇到了很大的问题。该应用程序始终与以下LogCat崩溃:致命异常:main java.lang.VerifyError

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) 
+0

您是否正在使用Google API,例如Google Play Services Library中的某些内容。我有这与谷歌驱动器,这是因为我没有导出所需的库或正确引用他们,因为他们改变了SDK版本 – Boardy

+0

@Boardy我试着在低于11的API水平上运行应用程序时得到相同的错误。验证错误,我也删除了弃用的方法。并抑制警告注释..任何想法为什么? –

+0

@Boardy你能详细说明一下吗(如果你还记得的话)?我面临同样的问题... – MrTristan

您首先看看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。希望这对你有所帮助。

您的课堂中的某些方法在可能使用的较低版本的SDK上不受支持。除去您可能对您的类或您的类中的某个特定方法可能拥有的@Supresslint或@targetApi注释,并且eclipse会标记需要特定最低级别SDK的那些方法。

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

但基本上是在其中您可以得到这个错误主要有三个原因:

  1. (在我的情况)我得到的VerifyError的一切,我试图运行我与API的设备应用上的时间因为我试图捕获Android API级别11支持的SQLiteDatabaseLockedException,因此要解决此问题,请检查是否支持每个Exception或可能的方法(即API Level 9支持String.isEmpty())您的最低API级别。

  2. 虽然我正在寻找一个解决方案,我发现了很多的得到的VerifyError因为有一些问题库进口,因为在这个岗位的人解释说:http://commonsware.com/blog/2013/05/23/do-not-manually-modify-eclipse-build-path-except-now-r22.html

  3. 见sayed.jalil答案。

希望能帮到你!

再见! 卡特彼勒。