В debug React Native приложение может работать идеально, а в release показывать белый экран. Это значит, что ошибка появляется только после сборки, минификации или смены окружения.

Белый экран в релизе блокирует публикацию, обновления и пользователей, которые уже установили приложение.

Коротко: нужно проверить JS bundle, release-логи, env, ProGuard/R8, assets и native-модули.

Почему возникает проблема

Частые причины: не собрался bundle, неправильный API URL, удаленный ProGuard класс, отсутствующий asset, ошибка навигации на старте или native-модуль, который работает только в debug.

Что проверяю в первую очередь

  • есть ли JS bundle в release
  • что показывает adb logcat
  • правильные ли env-переменные
  • не сломал ли ProGuard native-модуль
  • есть ли crash до первого экрана

Как исправляю

Я запускаю release-сборку с логами и постепенно отделяю JS-ошибку от native-ошибки.

  • исправляю сборку JS bundle
  • настраиваю env для release
  • добавляю правила ProGuard/R8
  • проверяю assets и шрифты
  • добавляю обработку стартовых ошибок

Что подготовить перед обращением

  • ссылка на сайт или кабинет
  • скриншот проблемы
  • пример пользователя, заказа или события
  • время, когда ошибка повторялась
  • доступы или выгрузка логов без лишних персональных данных

Какой результат нужен

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

Чего лучше не делать

Не проверяйте только debug-сборку. Для мобильных приложений release нужно тестировать отдельно перед публикацией.

Вопросы и ответы

Почему в debug все работает?

Debug использует другой режим сборки, dev server и не всегда включает минификацию.

С чего начать?

С logcat и проверки, собран ли JS bundle.

Может ли быть виноват API URL?

Да, release часто использует другие env-переменные.

Нужна похожая задача?

Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот, лог ошибки или пример заказа, и я подскажу, с чего безопасно начать исправление.

Итог

Белый экран React Native в release ищется через логи, bundle, env, ProGuard/R8, assets и native-модули.