2013-05-29 3 views
0

Я тестирую свое приложение на разных эмуляторах Kindle Fire, но на этом планшете у меня большие проблемы. Приложение всегда падает со следующим LogCat:FATAL EXCEPTION: 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

Вы используете API Google, например, что-то в библиотеке Служб Google Play. У меня было это с помощью Google Drive, и это произошло из-за того, что я не экспортировал необходимые библиотеки или правильно ссылался на них, так как они изменили версию SDK – Boardy

+0

@Boardy. Я получаю ту же ошибку при попытке запустить приложение на уровнях api ниже 11. Проверить ошибку , я также удалил устаревший метод. И подавить предупреждающие аннотации тоже .. любая идея почему? –

+0

@ Boardy можете ли вы рассказать об этом (если вы помните)? Я столкнулся с такой же точной проблемой ... – MrTristan

ответ

4

Вы первый взгляд на LogCat и посмотреть, что вызывает VerifyError.

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

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

1

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

1

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

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

  1. (в моем случае) я получал VerifyError все время, что я попытался запустить мое приложение на устройствах с API Уровень ниже 10, потому что я пытался поймать SQLiteDatabaseLockedException, которые поддерживаются на уровне API Android 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 ответ.

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

До свидания! Caterpillar.