أخطاء 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

كيف لا يتكرر

قبل كل release ثبّت APK على هاتف دون أدوات تصحيح وافتحه.

المؤلف والترخيص: Nibras Code