شاشة بيضاء في 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 عند أول رسم.
الحل خطوة بخطوة
- ابحث في
adb logcatعنUnable to load scriptأو خطأ JS. - تأكد أن ملف الحزمة موجود في
assets/index.android.bundle. - أنشئ الحزمة يدويًا ثم شغّل
./gradlew clean assembleRelease. - إن كان خطأ JS يفرغ الشاشة فغلّف أول شاشة بـ
try/catchوErrorBoundary. - إن كان عنوان 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
- APK لا يُثبَّت
- ما هو parse error؟
- ضاع ملف keystore
- التواقيع غير متطابقة
- خطأ في اسم الحزمة
- ملف APK تالف
- Play Protect يحظر التطبيق
- تبدو الحزمة غير صالحة
- لا توجد مساحة كافية
- الهاتف غير متوافق
- النسخة الأقدم لا تُثبَّت
- XAPK لا يُثبَّت
- فشل Gradle sync
- تعذّر حل الاعتمادية (Could not resolve)
- خطأ Duplicate class
- Manifest merger failed
- حد Dex: 65536 دالة
- R8: Missing class
- عدم توافق إصدار JDK
- SDK location not found
- تعارض minSdkVersion
- قيمة compileSdk منخفضة جدًا
- EAS build: فشل Gradle
- خطأ expo prebuild
- Metro: Unable to resolve module
- Hermes: خطأ JS في release فقط
- شاشة حمراء: لا يتصل بـ Metro
- عدم توافق إصدار Expo SDK
- خطأ Capacitor sync
- Capacitor: شاشة بيضاء
- EAS: خطأ keystore وcredentials
- Keystore tampered / كلمة المرور خاطئة
- اسم alias أو كلمة مرور المفتاح خاطئة
- Play: التوقيع بمفتاح خاطئ
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- خطأ في تحليل الحزمة (Parse error)
- خطأ «App not installed»
- تثبيت ملف AAB على الهاتف
- adb: الجهاز «unauthorized»
- adb: الجهاز غير موجود
- عدم تطابق إصدار خادم adb
- Activity class does not exist
- Play: مستوى targetSdk منخفض
- Play: رفض بسبب سياسة الأذونات
- Play: شرط 64-bit
- Play: versionCode مستخدم من قبل
- انهيار ClassNotFound / NoSuchMethod
- انهيار OutOfMemoryError
- CLEARTEXT communication not permitted
- SecurityException: الإذن مرفوض