java.lang.VerifyError при запуске тестов Android с testCoverageEnabled = true

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

25
задан Jared Burrows 8 February 2015 в 01:22
поделиться

2 ответа

Превращение комментария @ ben75 в ответ: соответствующая ошибка была исправлена ​​с помощью build-tools 21.0.0 . Однако эта версия представила еще одну специфичную для Windows ошибку , поэтому вам следует использовать вместо этого инструменты сборки 21.0.2 (даже если эта версия еще не отображается на странице ревизий ).

4
ответ дан sschuberth 8 February 2015 в 01:22
поделиться

Вы получите java.lang.VerifyError в любое время, когда существует несоответствие между библиотекой, используемой во время компиляции, и во время выполнения.

Вот еще один поток, в котором перечислены похожие проблемы: Java.lang.verifyerror, как мне исправить или даже выяснить причину?

-2
ответ дан Community 8 February 2015 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: