ФАТИЧЕСКОЕ ИСКЛЮЧЕНИЕ: основной java.lang.VerifyError

Тестирую свое приложение на различных эмуляторах 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)

person user2431597    schedule 29.05.2013    source источник
comment
Вы используете API Google, например что-то в библиотеке сервисов Google Play? У меня было это с Google Drive, и это было потому, что я не экспортировал необходимые библиотеки или правильно на них ссылался, так как они изменили версию SDK   -  person Boardy    schedule 29.05.2013
comment
@Boardy я получаю ту же ошибку при попытке запустить приложение на уровнях API ниже 11. проверьте ошибку, я также удалил устаревший метод. И подавить предупреждающие аннотации тоже .. любая идея почему?   -  person Rat-a-tat-a-tat Ratatouille    schedule 21.10.2013
comment
@Boardy, можешь ли ты подробнее рассказать об этом (если помнишь)? У меня такая же проблема ...   -  person MrTristan    schedule 28.12.2013


Ответы (3)


Сначала вы смотрите на LogCat и видите, что вызывает ошибку verifyerror.

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

для получения дополнительной информации см. эту ссылку. Надеюсь, это поможет вам.

person Community    schedule 29.05.2013

Некоторые методы в вашем классе не поддерживаются в более ранней версии SDK, которую вы можете использовать. Удалите любые аннотации @Supresslint или @targetApi, которые могут быть у вас в вашем классе или конкретном методе в вашем классе, и eclipse отметит те методы, которые требуют определенного минимального уровня SDK.

person Sayed Jalil Hassan    schedule 30.07.2013

У меня была такая же проблема, и я решил ее для исключения случаев.

Но в основном это три основные причины, по которым вы можете получить эту ошибку:

  1. (В моем случае) я получал VerifyError все время, когда я пытался запустить свое приложение на устройствах с уровнем API ниже 10, потому что я пытался поймать SQLiteDatabaseLockedException, который поддерживается Android API уровня 11. Итак, чтобы решить эту проблему. убедитесь, что все исключения или возможные методы (например, String.isEmpty () поддерживаются с уровня API 9) поддерживаются с вашего минимального уровня API.

  2. Пока я искал решение, я нашел много людей, которые получили VerifyError, потому что была некоторая проблема с импортом библиотек, как описано в этом сообщении: http://commonsware.com/blog/2013/05/23/do-not-manually-modify-eclipse-build-path-except-now-r22.html

  3. См. Ответ sayed.jalil.

Надеюсь, это поможет!

Пока-пока! Гусеница.

person dieghito    schedule 02.05.2014