R8: Missing class
Xəta mətni
ERROR: R8: Missing class com.example.Foo (referenced from: void com.example.Bar.run()) Missing classes detected while running R8. Please add the missing classes or apply additional keep rules.
Səbəb
R8 kodu kiçildəndə bir sinfə istinad görür, amma sinif tapılmır. Release quruluşunda kitabxana qaydası çatmayanda belə olur.
Addım-addım həll
build/outputs/mapping/release/missing_rules.txtfaylını aç. R8 çatmayan qaydaları orada yazır.- Həmin sətirləri
proguard-rules.profaylına köçür. - Sinif həqiqətən lazım deyilsə,
-dontwarnyaz. Lazımdırsa-keepyaz. - Kitabxananın özünün
consumer-rulesqaydalarının olub-olmadığına bax, versiyanı yenilə. - Sonra
./gradlew assembleReleaseilə yenidən yoxla, tətbiqi telefonda aç.
Nümunə əmrlər
# app/build/outputs/mapping/release/missing_rules.txt faylına bax
# proguard-rules.pro
-keep class com.example.Foo { *; }
-dontwarn com.example.Foo
./gradlew assembleReleaseTəkrarlanmasın deyə
Release quruluşunu hər kitabxana əlavə ediləndən sonra bir dəfə qur, xəta gec çıxmasın.
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
- 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
- Hermes: yalnız release-də JS xətası
- 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