Hata raporu, uygulamanızdaki hataları bulup düzeltmenize yardımcı olacak cihaz günlüklerini, yığın izlemeleri ve diğer teşhis bilgilerini içerir. Cihazınızdan bir hata raporu yakalamak için cihazdaki Hata raporu al geliştirici seçeneğini, Android Emülatör menüsünü veya geliştirme makinenizdeki adb bugreport
komutunu kullanın.
![](https://developer.android.com/static/studio/images/run/dev-options-pixel_2x_cropped.png?authuser=6&hl=tr)
Şekil 1. Bir cihazdaki geliştirici seçenekleri.
Hata raporu almak için Hata raporu al seçeneğine erişmek üzere cihazınızda Geliştirici seçenekleri'ni etkinleştirmiş olmanız gerekir.
Cihazdan hata raporu al
![](https://developer.android.com/static/studio/images/run/dev-options-take-bug-report_2x.png?authuser=6&hl=tr)
2. Şekil. Hata raporu hazır.
Doğrudan cihazınızdan hata raporu almak için aşağıdakileri yapın:
- Geliştirici Seçenekleri'ni etkinleştirin.
- Geliştirici seçenekleri'nde Hata raporu al'a dokunun.
- İstediğiniz hata raporu türünü seçin ve Bildir'e dokunun.
Kısa bir süre sonra, Şekil 2'de gösterildiği gibi hata raporunun hazır olduğuna dair bir bildirim alırsınız.
- Hata raporunu paylaşmak için bildirime dokunun.
Android Emülatör'den hata raporu alın
Android Emulator'daki genişletilmiş denetimlerdeki Hata bildir özelliğini kullanabilirsiniz:
- Emülatör panelinde Diğer'i
tıklayın.
Genişletilmiş denetimler penceresinde Hata raporu'nu seçin.
Bu işlemden sonra ekran görüntüsü, AVD yapılandırma bilgileri ve hata raporu günlüğü gibi hata raporu ayrıntılarını görebileceğiniz bir ekran açılır. Ayrıca, raporla birlikte kaydetmek için yeniden oluşturma adımlarını içeren bir mesaj da yazabilirsiniz.
Hata raporunun toplanmasını bekleyin, ardından Raporu Kaydet'i tıklayın.
Adb'yi kullanarak hata raporu alma
Bağlı tek bir cihazınız varsa adb
ile aşağıdaki şekilde hata raporu alabilirsiniz:
$ adb bugreport E:\Reports\MyBugReports
Hata raporu için bir yol belirtmezseniz rapor yerel dizine kaydedilir.
Bağlı birden fazla cihazınız varsa cihazı -s
seçeneğiyle belirtmeniz gerekir. Cihazın seri numarasını almak ve hata raporunu oluşturmak için aşağıdaki adb
komutlarını çalıştırın:
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Daha eski bir hata raporunu kaydet
Varsayılan olarak hata raporları /bugreports
konumuna kaydedilir ve aşağıdaki komut kullanılarak görüntülenebilir:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
Daha sonra, zip dosyasını adb pull
aracılığıyla alabilirsiniz:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
Hata raporu zip dosyasını incele
ZIP dosyasının adı varsayılan olarak bugreport-BUILD_ID-DATE.zip
şeklindedir. ZIP dosyası birden fazla dosya içerebilir, ancak en önemli dosya bugreport-BUILD_ID-DATE.txt
dosyasıdır. Bu hata raporu, sistem hizmetleri (dumpsys
), hata günlükleri (dumpstate
) ve sistem mesajı günlükleri (logcat
) için teşhis çıktılarını içerir. Sistem mesajları, cihaz bir hata verdiğinde yığın izlemeleri ve Log
sınıfına sahip tüm uygulamalardan yazılan mesajları içerir.
ZIP dosyasında, Android sürüm mektubunu içeren bir version.txt
meta veri dosyası bulunur. Systrace etkinleştirildiğinde, zip dosyası bir systrace.txt
dosyası da içerir. Systrace aracı, uygulama işlemlerinizin ve diğer Android sistem işlemlerinin yürütme sürelerini kaydedip göstererek uygulamanızın performansını analiz etmenize yardımcı olur.
dumpstate
aracı, cihazın dosya sistemindeki dosyaları FS
klasörünün altındaki zip dosyasına kopyalar. Böylece bu dosyalara referans verebilirsiniz. Örneğin, cihazdaki /dirA/dirB/fileC
dosyası, zip dosyasında FS/dirA/dirB/fileC
girişi oluşturur.
3. Şekil. Hata raporu dosya yapısı.
Daha fazla bilgi için Hata raporlarını okuma bölümüne bakın.
Kullanıcılarınızdan rapor alın
Uygulamayı kullanırken hata raporlarını toplamak size kolaylık sağlar, ancak son kullanıcılarınız bu tür hata raporlarını sizinle kolayca paylaşamaz. Gerçek kullanıcılardan yığın izlemeleri içeren kilitlenme raporları almak için Google Play ve Firebase kilitlenme raporu özelliklerinden yararlanın.
Google Play Console
Uygulamanızı Google Play'den yükleyen kullanıcılardan gelen kilitlenmeler ve uygulama yanıt vermiyor (ANR) hatalarına ilişkin verileri görüntülemek için Google Play Console'dan raporlar alabilirsiniz. Önceki altı aya ait veriler mevcuttur.
Daha fazla bilgi için Play Console yardım sayfasındaki Kilitlenmeleri ve uygulama yanıt vermiyor (ANR) hatalarını görüntüleme bölümüne bakın.
Firebase kilitlenme raporu
Firebase Crashlytics raporlaması, uygulamanızdaki hataların ayrıntılı raporlarını oluşturur. Hatalar, benzer yığın izlemelere (stack trace) göre sorunlar halinde gruplanır ve kullanıcılarınız üzerindeki etkinin şiddetine göre önceliklendirilir. Otomatik raporlara ek olarak, kilitlenmeye yol açan adımların belirlenmesine yardımcı olmak için özel etkinlikleri günlüğe kaydedebilirsiniz.
Herhangi bir kullanıcıdan kilitlenme raporu almaya başlamak için build.gradle
dosyanıza Firebase bağımlılıklarını ekleyin. Daha fazla bilgi için Firebase Crashlytics'i inceleyin.