Top.Mail.Ru
Уведомления
Очистить все

[Решено] Android & Kotlin: java.lang.VerifyError: Verifier rejected class

(@escrolls)
Level 1

Добрый день!

Продолжаю мучать свой проект для Android, сейчас опишу что происходит. В какой-то момент стала возникать ошибка:

java.lang.VerifyError: Verifier rejected class

В дальнейшем коде ошибки не нашел ничего что могло бы помочь, пока решил не приводить полностью.

Причем это произошло прямо внезапно, добавил пару строк кода (обычные вычисления) в функцию и собираться перестало. Удалял этот код частично, затем удалил полностью, может только пара переменных и остались - все равно не помогает. Полез гуглить конечно же, пробовал следующее (сразу могу сказать безрезультатно):

  • Очистка проекта и пересборка (Clean + Build)
  • Инвалидация всех кэшей (File - Invalidate cashes)
  • Удаление папки build (на случай если Clean в первом пункте очищает не полностью)
  • Находил рекомендации поменять что-то в настройках в "Build, Execution, Deployment" (не запомнил что точно менял - никакого результата не дало)
  • Видел также, что такая ошибка может быть из-за того, что какой-то класс обновился и его версия стала несовместима с другим классом - точно не мой случай как видно из описания
  • Менял версию Kotlin и на более новую и на более старую - бесполезно

При этом действительно проект собирался без ошибок, добавил немного кода, появилась ошибка, убрал этот код - ошибка осталась.......

Какая-то абсурдная ситуация, Вы случайно не сталкивались с чем-то похожим?


Цитата
Создатель темы Размещено : 01.08.2025 18:43
Aveal
(@aveal)
Top level Admin

Запись от: @escrolls

Удалял этот код частично, затем удалил полностью, может только пара переменных и остались

Хм, вот это сразу наталкивает на мысль... Есть внутреннее ограничение на кол-во переменных в методе (не скажу сходу, какие именно ограничения и на какие именно методы), возможно там уже слишком много локальных переменных, попробуй удалить эти добавленные.


ОтветитьЦитата
Размещено : 01.08.2025 21:51
(@escrolls)
Level 1

Запись от: @aveal

Запись от: @escrolls

Удалял этот код частично, затем удалил полностью, может только пара переменных и остались

Хм, вот это сразу наталкивает на мысль... Есть внутреннее ограничение на кол-во переменных в методе (не скажу сходу, какие именно ограничения и на какие именно методы), возможно там уже слишком много локальных переменных, попробуй удалить эти добавленные.

Я просто в шоке, сработало! Убрал пару переменных и ошибка пропала. Это как теперь обходиться-то без локальных переменных в этом методе?...

P. S. Огромное спасибо! Невозможно было предугадать что проблема окажется в этом )))

 


ОтветитьЦитата
Создатель темы Размещено : 04.08.2025 21:34
Aveal
(@aveal)
Top level Admin

Запись от: @escrolls

Это как теперь обходиться-то без локальных переменных в этом методе?...

Раз в принципе дошло до такой ситуации, то можно смело предположить, что этот метод явно перегружен ) Надо разделить функционал на несколько, будет более прозрачная архитектура.

 


ОтветитьЦитата
Размещено : 04.08.2025 22:08
(@escrolls)
Level 1

@aveal понял, спасибо еще раз)


ОтветитьЦитата
Создатель темы Размещено : 04.08.2025 22:17
Aveal
(@aveal)
Top level Admin

@escrolls Обращайся если что )


ОтветитьЦитата
Размещено : 04.08.2025 22:22
Поделиться: