Ошибки APK

Белый экран в release

Текст ошибки

App opens to a blank white or black screen; logcat: Unable to load script. Make sure you're either running Metro or that your bundle 'index.android.bundle' is packaged correctly for release.

Причина

Приложение открывается, но экран пустой. JS-бандл не попал в пакет или при первой отрисовке случилась JS-ошибка.

Решение по шагам

  1. Найди в adb logcat строку Unable to load script или JS-ошибку.
  2. Убедись, что файл бандла лежит в assets/index.android.bundle.
  3. Создай бандл вручную и запусти ./gradlew clean assembleRelease.
  4. Если пустой экран из-за JS-ошибки, оберни первый экран в try/catch и ErrorBoundary.
  5. Если адрес API начинается с http, прочитай страницу про network security config.

Примеры команд

adb logcat *:E | grep -i -E "react|bundle|script"
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
cd android && ./gradlew clean assembleRelease

Как не повторить

Перед каждым релизом ставь APK на телефон без отладочных средств и открывай его.

Автор и лицензия: Nibras Code