В 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-модули.