TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.2K subscribers
Post #4666 2.37K
Две функции Android-приложения месяц не работали в релизе, а в debug всё было в порядке

Автор LongShot (склейка длинных скриншотов) месяц получал жалобы: распознавание текста и скрытие персональных данных отвечали «Couldn't read this image». У него самого всё работало, Android Vitals молчал, крашей не было. Пять раундов «починил, проверьте» ушли впустую: он тестировал через installDebug, а debug-сборка не минифицируется.

Виноват R8. Consumer-правило ML Kit -keep class * implements ComponentRegistrar сохраняет класс, но не его члены. Пустой конструктор TextRegistrar в байткоде никто не вызывает, регистраторы создаются рефлексией, и R8 его удалил. Фикс одна строка: то же правило с { <init>(); }, покрывает семь регистраторов.

Главное изменение у автора: isMinifyEnabled = true в debug. Проверьте свой релиз: grep '<init>' по usage.txt и grep Registrar по seeds.txt, каждый регистратор должен быть там дважды. Разбор целиком.
  • 👍 4
  • ❤ 1
More from @mobi_dev
  1. Sep 20, 2026Как ProfilingManager на Android 15+ помогает искать причины тормозов в продакшене Profilin…
  2. Sep 20, 2026Как использовать свайп-действия вне List в SwiftUI В SwiftUI свайп-действия вроде удаления…
  3. Sep 20, 2026Как переносить сложные Android-экраны на Jetpack Compose: опыт TikTok Команда TikTok перен…
  4. Sep 19, 2026Как управлять кнопками панели инструментов в SwiftUI Одна и та же панель в SwiftUI ведёт с…
  5. Sep 19, 2026Как безопасно освобождать временные ресурсы с defer в Swift В Swift блок defer выполняется…
  6. Sep 19, 2026Как Flutter готовит приложения к новым версиям iOS Между WWDC и стабильным релизом iOS у к…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →