| Platform seçin: | iOS+ Android Flutter Unity |
Varsayılan olarak Firebase Crashlytics, kilitlenme raporlarının karartmasının kaldırılmasını ve raporların okunabilir olmasını sağlayan gerekli sembol dosyalarını yüklemek için Flutter projenizi otomatik olarak donatır.
Maalesef, projenin tam olarak yapılandırılmamasına neden olabilecek durumlar vardır. Bu kılavuzda, otomasyonun ne yaptığı özetlenmekte ve proje kurulumunuzda hata ayıklama için ilk adımlar sağlanmaktadır.
Apple platformları
dSYM dosyalarını yükleme yapılandırmanızı kontrol edin
Crashlytics Flutter eklentisini ekleyip flutterfire configure komutunu çalıştırdığınızda, projenizin Xcode çalışma alanına gerekli dSYM sembol dosyalarını bulup Crashlytics'ya yükleyen bir çalıştırma komut dosyası eklenmeye ç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çta tutulur.
Bu sorunla karşılaşıyorsanız öncelikle run script'in yüklü olduğundan emin olun:
Projenizin iOS dizinindeki Xcode çalışma alanı dosyasını (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) bulun ve açın.[firebase_crashlytics] Crashlytics Upload Symbolsadlı bir çalıştırma komut dosyasının, Runner hedefinin derleme aşamalarına eklenip eklenmediğini belirleyin.run script does not exist veya run script exists ile ilgili olarak aşağıdaki uygun bölüme bakın.
Flutter ve Crashlytics için sürüm yapılandırmanızı kontrol edin (--split-debug-info işaretini kullanıyorsanız)
Flutter projenizde --split-debug-info işaretini (ve isteğe bağlı olarak --obfuscate işaretini) kullanıyorsanız uygulamanız için okunabilir yığın izlemeleri göstermek üzere ek adımlar uygulamanız gerekir.
Projenizin, Flutter sembollerini (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 Crashlytics Flutter eklentisi 3.3.4+) kullandığından emin olun.
Android
Bağımlılık yapılandırmanızı kontrol edin
flutterfire configure komutu, projenizin Gradle derleme dosyalarına gerekli bağımlılıkları eklemeye çalışır. Bu bağımlılıklar 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ı arayın: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ın olup olmadığını 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şaretini kullanıyorsanız).
Flutter projenizde --split-debug-info işaretini (ve isteğe bağlı olarak --obfuscate işaretini) kullanıyorsanız uygulamanız için okunabilir yığın izlemeleri göstermek üzere ek adımlar uygulamanız gerekir.
Flutter hata ayıklama sembollerini yüklemek için Firebase CLI'yı (v.11.9.0+) kullanın. Karartılmış kod derlemesinden kilitlenme bildirmeden önce hata ayıklama sembollerini 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:17104a2ced0c9b9bPATH/TO/symbols: Uygulamayı oluştururken--split-debug-infoişaretine ilettiğiniz dizinle aynı olmalıdır.
Sorunlar devam ederse Android'e özel, karartılmış raporlarla ilgili sorun giderme kılavuzuna bakın.