Hermes: yalnız release-də JS xətası
Xəta mətni
E/ReactNativeJS: TypeError: undefined is not an object (evaluating 'a.b.c') Hermes: Execution of bytecode failed in release build only
Səbəb
Debug-da işləyən tətbiq release-də qırılır. Release-də kod kiçildilir, __DEV__ söndürülür və Hermes bytecode istifadə olunur.
Addım-addım həll
adb logcatilə real xəta mətnini çıxar.--dev falseilə bundle yaradıb eyni xətanı təkrarla.- Yalnız debug-da mövcud olan şeylərə (
__DEV__, dev-menu) bağlı kodu yoxla. - Şübhəli kitabxananı yenilə: Hermes ilə uyğun versiya lazımdır.
- Source map ilə xəta sətrini əsl koda çevir.
Nümunə əmrlər
adb logcat -s ReactNativeJS:V ReactNative:V npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output /tmp/i.bundle --sourcemap-output /tmp/i.map cd android && ./gradlew assembleRelease
Təkrarlanmasın deyə
Release APK-nı təkcə son gündə yox, hər həftə real telefonda sına.
Müəllif və lisenziya: Nibras Code
- APK qurulmur
- Parse error nədir?
- Keystore itdi
- İmzalar uyğun gəlmir
- Paket adı xətası
- APK faylı zədələnib
- Play Protect bloklayır
- Paket etibarsız görünür
- Yaddaş çatmır
- Telefon uyğun deyil
- Köhnə versiya qurulmur
- XAPK qurulmur
- Gradle sync alınmadı
- Asılılıq tapılmadı (Could not resolve)
- Duplicate class xətası
- Manifest merger failed
- Dex limiti: 65536 metod
- R8: Missing class
- JDK versiyası uyğun gəlmir
- SDK location not found
- minSdkVersion toqquşması
- compileSdk çox aşağıdır
- EAS build: Gradle xətası
- expo prebuild xətası
- Metro: Unable to resolve module
- Release-də ağ ekran
- Qırmızı ekran: Metro-ya qoşulmur
- Expo SDK versiyası uyğun gəlmir
- Capacitor sync xətası
- Capacitor: ağ ekran
- EAS: keystore və credentials xətası
- Keystore tampered / parol yanlış
- Açar alias və ya parolu səhvdir
- Play: səhv açarla imzalanıb
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Paketi təhlil etmə xətası (Parse error)
- «App not installed» xətası
- AAB faylını telefona qurmaq
- adb: cihaz «unauthorized»
- adb: cihaz tapılmır
- adb server versiyası uyğun gəlmir
- Activity class does not exist
- Play: targetSdk səviyyəsi aşağıdır
- Play: icazə siyasəti rədd etdi
- Play: 64-bit tələbi
- Play: versionCode artıq istifadə olunub
- ClassNotFound / NoSuchMethod çökməsi
- OutOfMemoryError çökməsi
- CLEARTEXT communication not permitted
- SecurityException: icazə verilməyib