Varsayılan olarak Firebase Crashlytics, Flutter projenizi otomatik olarak araçlandırır. Böylece, kilitlenme raporlarının kodun gizlenmemesi ve okunabilir olması için gerekli simge dosyalarını yükler.
Maalesef projenin tam olarak yapılandırılmaması ile sonuçlanabilecek durumlar vardır. Bu kılavuzda, otomasyonun ne yaptığı özetlenmiştir ve proje kurulumunuzda hata ayıklamayla ilgili ilk adımlar verilmiştir.
Apple platformları
dSYM dosyalarını yükleme yapılandırmanızı kontrol etme
Crashlytics Flutter eklentisini ekleyip flutterfire configure
komutunu çalıştırdığınızda, projenizin Xcode çalışma alanına gerekli dSYM simge dosyalarını bulup Crashlytics'e yükleyen bir çalıştırma komut dosyası eklemeye çalışılır. Bu dosyalar olmadan Crashlytics kontrol panelinde "Eksik dSYM" uyarısı görürsünüz ve eksik dosyalar yüklenene kadar istisnalar arka uç tarafından tutulur.
Bu sorunla karşılaşıyorsanız öncelikle çalıştırma komut dosyasının yüklü olduğundan emin olun:
Projenizin iOS dizininde (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace
) Xcode çalışma alanı dosyasını bulup açın.Runner hedefinin Build Phases'ine
[firebase_crashlytics] Crashlytics Upload Symbols
başlıklı bir çalıştırma komut dosyasının eklenip eklenmediğini belirleyin.Çalıştırma komut dosyası yoktur veya çalıştırma komut dosyası vardır olup olmadığına göre aşağıdaki ilgili bölüme bakın.
Flutter ve Crashlytics için sürüm yapılandırmanızı kontrol edin (--split-debug-info
işareti kullanılıyorsa)
Flutter projenizde --split-debug-info
işareti (ve isteğe bağlı olarak --obfuscate
işareti) kullanılıyorsa uygulamanızın okunabilir yığın izlemelerini göstermek için ek adımlar gerekir.
Projenizin Flutter simgelerini (dSYM dosyaları) otomatik olarak oluşturup Crashlytics'e yükleyebilmesi için önerilen sürüm yapılandırmasını (Flutter 3.12.0 ve sonraki sürümler ile Crashlytics Flutter eklentisi 3.3.4 ve sonraki sürümler) kullandığından emin olun.
Android
Bağımlılık yapılandırmanızı kontrol etme
flutterfire configure
komutu, projenizin Gradle derleme dosyalarına gerekli bağımlılıkları eklemeye çalışır. Bu bağımlılık olmadan, karartma etkinse Firebase konsolundaki kilitlenme raporları karartılmış olabilir.
Proje düzeyindeki build.gradle
ve uygulama düzeyindeki build.gradle
dosyalarında aşağıdaki satırların bulunduğundan emin olun:
Proje düzeyindeki derleme dosyasında (
android/build.gradle
) aşağıdaki satırı kontrol edin:dependencies { // ... other dependencies classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' }
Uygulama düzeyindeki derleme dosyasında (
android/app/build.gradle
) aşağıdaki satırı kontrol edin:// ... other imports android { // ... your android config } dependencies { // ... your dependencies } // This section must appear at the bottom of the file apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics'
Flutter sembollerini yüklemek için KSA'yı kullandığınızdan emin olun (--split-debug-info
işareti kullanılıyorsa)
Flutter projenizde --split-debug-info
işareti (ve isteğe bağlı olarak --obfuscate
işareti) kullanılıyorsa uygulamanızın okunabilir yığın izlemelerini göstermek için ek adımlar gerekir.
Flutter hata ayıklama sembollerini yüklemek için Firebase CLI'yi (v.11.9.0+) kullanın. Karartılmış kod derlemesinden kaynaklanan bir kilitlenmeyi bildirmeden önce hata ayıklama simgelerini yüklemeniz gerekir.
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: Firebase Android uygulama kimliğiniz (paket adınız değil)
Firebase Android uygulama kimliği örneği:1:567383003300:android:17104a2ced0c9b9b
PATH/TO/symbols
: Uygulamayı oluştururken--split-debug-info
işaretine ilettiğiniz dizin
Sorunlar devam ederse gizlenmiş raporlarla ilgili sorunları gidermeyle ilgili Android'e özel kılavuzu inceleyin.