Pratik Rehber: ADB ve Android Studio ile Logcat Alma

Kerem Aydın·7 Temmuz 2026·⏱3 dk

Kısa cevap: Geliştirici modunu ve USB hata ayıklamayı etkinleştirin, cihazı bağlayın (adb devices), ardından akış için adb logcat veya döküm için adb logcat -d > file komutunu kullanın; Android Studio'da Logcat penceresini açın; tam paket için adb bugreport kullanın.

Hazırlık ve Bağlantı

  1. Cihazda Geliştirici Seçenekleri ve USB Hata Ayıklama'yı (veya kablosuz hata ayıklama için Kablosuz Hata Ayıklama'yı) etkinleştirin.
  2. USB ile bağlayın ve "USB hata ayıklamasına izin verilsin mi?" isteğini onaylayın.
  3. Bağlantıyı kontrol edin:
    • adb devices — listeyi ve durumu gösterir (device/unauthorized).
    • adb -s shell getprop ro.build.version.release — gerekirse sürüm kontrolü.

İlk bağlantıda cihaz hata ayıklamaya izin isteyecektir: onaylayın. Durum unauthorized ise kabloyu yeniden takın ve telefon ekranını kontrol edin.

adb logcat Komutları — Pratik Örnekler

Kopyalanabilir temel komutlar ve faydalı şablonlar:

  • Zaman damgalarıyla gerçek zamanlı akış: adb logcat -v time

  • Akışı bilgisayardaki bir dosyaya kaydetme (durdurma Ctrl+C): adb logcat -v time > device-log-$(date +%F_%T).txt

  • Mevcut arabelleklerin dökümü ve çıkış: adb logcat -d -v threadtime > dump-logs.txt

  • Test öncesi arabelleği temizleme: adb logcat -c

  • Günlüğü cihaza yazma ve ardından çekme: adb logcat -f /sdcard/myapp-log.txt -v time adb pull /sdcard/myapp-log.txt ./myapp-log.txt

  • Sadece hataları görüntüleme: adb logcat *:E

  • Etiketle filtreleme: adb logcat MyTag:D *:S

  • PID ile filtreleme (grep'ten daha güvenilir): adb logcat --pid $(adb shell pidof -s com.example.app)

  • Son N satırı görüntüleme: adb logcat -t 200 -v threadtime

Not: Seçenekler ve bayrak desteği platform-tools sürümüne ve cihaza bağlıdır; gerekirse adb logcat --help çalıştırın.

Çökme etrafındaki günlükleri yakalamak için: adb logcat -v time > log.txt başlatın, sorunu yeniden oluşturun, durdurun ve kesin zaman damgasına göre arama yapın.

Android Studio ve Tam bugreport Toplama

Android Studio'da Logcat:

  • View → Tool Windows → Logcat. Cihazı ve işlemi (Process) seçin — IDE otomatik olarak işlemin günlüklerini gösterecektir.
  • Seviye, etiket ve metne göre filtreler kullanın; kaydedilen filtreler tekrarlayan incelemeleri hızlandırır.
  • Dışa aktarma: mesajları seçin → Save as.

Tam bir bugreport toplama:

  • adb bugreport ./bugreport-$(date +%F_%T).zip Dosya birkaç logcat arabelleği, dumpsys, ANR izleri ve sistem bilgisi içerir — mühendisler için faydalıdır. Oluşturma zaman alır ve boyutu büyük olabilir.

Normal bir uygulamadan android.permission.READ_LOGS üzerinden başkalarının günlüklerini okumasını isteyemezsiniz — erişim sistem/imzalı uygulamalarla sınırlıdır. Uzaktan günlük toplamak için uygulama içinde açık kullanıcı onayıyla günlük tutun.

Sık Karşılaşılan Hatalar

  • adb devices'ta unauthorized durumu — cihaz ekranını açın ve erişimi onaylayın.
  • Gerekli satırlar "kayıp" — günlük arabellekleri sınırlıdır, önceden temizleyin ve/veya dosyaya yazın.
  • Yanlış filtreleme — güvenilirlik için paket adına grep yerine --pid kullanın.
  • Geçersiz zaman damgası — kolay arama için -v time veya -v threadtime seçin.

SSS

  • Sadece kendi uygulamamın günlüklerini nasıl alırım?
    adb logcat --pid $(adb shell pidof -s com.example.app) kullanın veya Android Studio'da işlemi seçin.

  • Hızlıca toplayıp mühendise nasıl gönderirim?
    adb bugreport ./bugreport--$(date +%F_%T).zip — ardından arşivi iletin.

  • Uygulama kodundan sistem günlüklerini okuyabilir miyim?
    Hayır — READ_LOGS üçüncü taraf uygulamalar için mevcut değildir. Günlükleri uygulama içinde toplayın ve anlaşmış kanal üzerinden gönderin.

Gerekirse, komutlarla kompakt bir cheat-sheet veya otomatik günlük toplama için bir betik (bash/PowerShell) hazırlayabilirim. Tercih ettiğiniz platformu belirtin.