Kılavuz: Favori Uygulamanızda Hata Ayıklamaya Yardımcı Olmak İçin Logcat Gönderme

Hiç en sevdiğiniz uygulamanın aniden başınıza düştüğü oldu mu? Geliştiricinin olanların hatalarını ayıklamasına yardımcı olmak ister misiniz? Kılavuzumuzla Logcat'leri nasıl yakalayıp filtreleyeceğinizi öğrenin.

Hırvatlar, 30 Haziran 2013'te Zagreb'deki Ban Jelesic meydanında Hırvatistan'ın Avrupa Birliği'ne katılımını kutlarken AB bayrağını dalgalandırıyor. Onbinlerce Hırvat, eski Yugoslav cumhuriyetinin kanlı bağımsızlık savaşının sona ermesinden neredeyse yirmi yıl sonra, Pazar gece yarısı (22:00 GMT) ülkenin Avrupa Birliği'ne girişini alkışladı. AFP FOTOĞRAF / STRINGER

Bu hepimizin başına bir noktada gelmiştir. Bunu kabul etmekte utanılacak bir şey yok. Bazen Android uygulamaları çöküyor. İster Google Haritalar'ı çalıştırmak için tamamen hazır bir cihaz kullanın, ister Xposed modüllü son derece özelleştirilmiş bir ROM kullanın. Google Hangouts'u geliştirin, uygulama çökmeleri ve diğer sorunlar meydana gelebilir ve hatta büyük bir engel haline gelebilir. Bu, özellikle web sitemizde bulunan pek çok uygulama gibi küçük ölçekli ince ayarların ve uygulamaların geliştirilmesinde geçerlidir. Sorunlar ortaya çıktığında, kullanıcının geliştiriciye kazanın doğası hakkında verebileceği en yapıcı ve yararlı bilgilerden biri,

Mantıksal kedi. Geliştiriciler için son derece yararlı olmasına rağmen, bu bilgiyi elde etmek normal bir kullanıcı için biraz göz korkutucu görünebilir.

Tipik olarak dahil ADB aracılığıyla komut satırı araçları, Logcat, komut satırıyla ilgili çok az deneyimi olan veya hiç deneyimi olmayan birçok kullanıcı için erişilemez. Bununla birlikte, bazı uygulamaların piyasaya sürülmesi, ADB komutlarının bir Logcat'in alınması ve gönderilmesine katılımını ortadan kaldırdı veya en azından büyük ölçüde azalttı; bu, bunu birkaç ekrana dokunma kadar kolay hale getirdi. Geliştiricilerin gelişimine yardımcı olma konusunda hiç bitmeyen misyonumuzda, kullanıcılara Logcat'in nasıl gönderileceğini öğretecek yeni başlayanlar için bir kılavuz burada.


Logcat nedir ve nasıl çekeriz?

Logcat, tüm sistem olaylarının günlüğünü almak için kullanılan bir ADB Shell aracıdır. Buna hatalar, uyarılar, yığın izlemeler ve genel sistem olayları dahildir. Bir hata oluştuğunda, hatanın kaynağına işaret eden önemli bilgilerin çıktısı bu günlük aracılığıyla verilir, bu da onu sorun giderme için çok yararlı bir araç haline getirir. Normalde bunlar ADB komutları aracılığıyla çekilir ve filtrelenir. Ancak aşağıdaki gibi uygulamalar aLogcat, Katalogve bu makale için tercih ettiğimiz araç, Matlog, bu komut araçlarını Play Store'dan indirilebilir bir uygulamanın GUI'sinde derleyerek kullanıcıların çabadan tasarruf etmesini sağladık.

Belirtildiği gibi Matlog, Logcat'leri toplamak için kullandığımız şeydir. Gösterişten uzak ancak kullanıcı dostu arayüzü nedeniyle seçilen Matlog, XDA Junior Member tarafından yapıldı artıKüp ve dayalı Nolan Lawson'ın açık kaynaklı uygulama Kataloğu. Kataloğu beğen, Matlog olabilir kaynaktan derlendi, veya Google Play Store'dan ücretsiz olarak indirildi. Rootlu olmak kurulum sırasında bir adımı atlamanıza olanak tanısa da, Logcats'i toplamak için root erişimi gerekli değildir. Cihazınız köklü değilse, tek bir ADB kabuk komutu, uygulamaya cihazınızın günlüklerini okumak için erişim izni verecektir. Makinenizde henüz ADB'yi kurmadınız mı? Sorun değil, çalışır duruma getirmek için aşağıdaki adımları uygulamanız yeterli.

Not: Huawei telefonlarda Logcat çıkışı tamamen devre dışı bırakılmıştır. Gizli bir ayarı değiştirmeniz gerekecek Bu kılavuzun geri kalanına devam etmeden önce.


ADB'yi ayarlama

Birinci, ADB ikili dosyasını doğrudan Google'dan indirin özel işletim sisteminiz için ve onu bilgisayarınızdaki ayrı bir dizine çıkarın. Sonraki, uygun sürücüyü yükleyin özel telefonunuz için. Ardından Ayarlar --> Geliştirici Seçenekleri'nde "USB Hata Ayıklama"yı etkinleştirin. Geliştirici Seçenekleri'ni göremiyorsanız, Ayarlar --> Telefon Hakkında'ya gidip Derleme numarası'na 7 kez dokunarak bunu etkinleştirmeniz gerekir. Son olarak, ADB ikili dosyasıyla aynı dizinde bir komut istemi başlatarak ADB'nin çalıştığından emin olun (sağ tıklayın --> "komut istemini burada aç") ve aşağıdaki komutu çalıştırın:

adb devices

Cihazınızın seri numarasını görüyorsanız (ve izinsiz yazmıyorsa), altınsınız demektir. Telefonunuzda bilgisayarınıza ADB erişimi vermenizi isteyen bir açılır pencere görürseniz evet deyin. Her ikisinin de gerçekleştiğini görmüyorsanız bilgisayarınızı/telefonunuzu yeniden başlatmayı ve bilgisayarınıza yeniden takmayı deneyin. Aksi takdirde sürücüyü yeniden yüklemeyi deneyin.


Matlog'u ayarlama

Artık ADB'yi çalışır duruma getirdiğinize göre (umarım), Matlog'un Logcats'i yakalama yeteneğini etkinleştirmek için yapmanız gereken tek şey, bir ADB kabuğunda aşağıdaki komutu vermektir. Yine, eğer cihazınız zaten rootlu ise, bu komutu çalıştırmanıza gerek yoktur çünkü bu sadece rootlu olmayan telefonlar için gereklidir.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Arızalı Uygulamanın Yanında Matlog Kayıt Widget'ı

Etkinleştirilip açıldığında, Matlog sistem olaylarını gerçek zamanlı olarak gösterecektir. Bunu durdurmak için duraklat düğmesine dokunabilir, ardından elips menüsüne dokunabilir ve alanı gereksiz verilerden temizlemek için "temizle"yi seçebilirsiniz. Günlük boyutunu azaltmak için arızalı uygulamayı günlüğe kaydetmeye hazırlanırken bunu yapmanız önerilir. Adımları ve dolayısıyla günlük uzunluğunu daha da kısaltmak için, sağda gösterildiği gibi ana ekranınıza söz konusu çöken uygulamanın yanına Matlog widget'ını ekleyin. Bu durumda, Apktool X arızalı uygulamamızdır.

Widget'a dokunmak, bir günlüğü adlandırmanıza ve kaydetmeye başlamanıza olanak tanır. Ardından, günlüğe kaydetmeye başladıktan hemen sonra arızayı yeniden oluşturun; bu, Logcat'i sorununuzla ilgili bilgilerle dolduracaktır. Sorun yeniden oluşturulduktan sonra günlük kaydını tamamlamak için widget'a tekrar dokunmanız yeterlidir.

Bunu yaptığınızda Matlog, yakalanan günlüğe açılacaktır. Günlüğü genel cihaz bilgileriyle birlikte ekli bir metin dosyası olarak e-postayla göndermek için üç noktaya dokunun ve "gönder"i seçin. Bu kadar! Logcat'iniz başarıyla yakalandı ve gönderildi Profesör Oak'a.

Yukarıdaki örneğimde Apktool X'in çökmesinin nedeninin cihazımın köklenmemiş olması olduğunu söyleyebilirim. Ahh! tam olarak sahip olmalıydım makaleyi oku uygulamayı kullanmaya çalışmadan önce.

Bu Çok Kolaydı

Elbette tüm konuları yakalamak o kadar kolay değil. Bazen önyüklemeyle ilgili sorunlar veya daha uzun süreye yayılan sorunlar, uygulamanın farklı özelliklerinin yakalanmasını gerektirebilir. Bu gibi durumlarda, Matlog'un arka planda çalışmasına izin vermek (duraklatmayın veya temizlemeyin) ve verileri ayrıştırmak için Günlük Düzeyi ve Filtre işlevlerini kullanmak isteyeceksiniz.

İlgili verileri toplamak için genellikle gerekli olan tek yöntem olmasa da bazı durumlarda daha fazla bağlam – bu araçların her biri, daha uzun günlüklerde verileri sıralamak ve belirtmek için kullanılabilir. geliştirici. Doğal olarak bu, hatanın niteliğine ve geliştiricinin isteğine bağlıdır. Bunlardan herhangi birini kullanmak için Matlog'u çalıştırın, sorununuzu yeniden oluşturun, Matlog'a geri dönün, nokta menüsüne dokunun ve bu iki sıralama yönteminden birini seçin.

Yalnızca Hataları Gösteren Günlük Düzeyi Seçimi

Günlük Düzeyi

Matlog tarafından basitleştirilmiş başka bir ADB komutu olan Günlük Seviyesi işlevi, belirli sistem olaylarını ve mesajlarını görüntülemek için kullanılabilir. Aşağıda, Android Geliştiricileri web sitesinde açıklandığı gibi çeşitli mesaj türlerinin kısa bir açıklaması ve Matlog'un etiketlemesiyle eşleşecek şekilde renk kodu verilmiştir.

En düşük öncelikten en yüksek önceliğe doğru:

  • V: Ayrıntılı (Genel sistem olayları)
  • D: Hata ayıklama
  • BEN: Bilgi
  • W: Uyarı
  • e: Hata
  • F: Ölümcül
  • S: Sessiz (Üzerine hiçbir şeyin yazdırılmadığı en yüksek öncelik)

Günlük Düzeyi özelliği, günlüğü her öncelik düzeyinde filtreleyebilen bu mesajların karşılık gelen bir listesine sahiptir. Bir günlük düzeyi seçildiğinde, yalnızca kendi öncelik düzeyindeki ve daha yüksek olan olaylar gösterilecek ve bu, olayların kolayca tanımlanmasını ve gruplandırılmasını kolaylaştıracaktır. bazen binlerce satırda olabilen çok sayıda metin satırının manuel olarak kaydırılmasını gerektirmek yerine hatalar Bu yüzden.

“Apktool” için Arama Filtresi Seti

Filtreler

Günlük verilerini sıralamak için filtreler de kullanılabilir. Bir anahtar kelime araması başlatıldığında, kullanıcının yalnızca bu anahtar kelimeye açıkça atıfta bulunan mesajları görmesi sağlanır. Yararlı anahtar kelimeler, arızalı uygulamanın adını veya hatta terimin tüm öncelik düzeylerinde örneklerini kapsadığı için "hata" kelimesini içerebilir. değil tüm “Günlük Düzeyi” hatalarını kapsar.

Bir geliştiricinin bir uygulamada hata ayıklamasına yardımcı olurken kendinizi belirli anahtar sözcükleri sık sık ararken/filtrelerken bulursanız (veya geliştirici açıkça arayabileceğiniz benzersiz bir günlük etkinliği oluşturduysa), ardından geri dönebileceğiniz bir filtre de kaydedebilirsiniz. gelecek. Bu, ne aradığınızı önceden bildiğinizde faydalıdır; bir geliştiriciyle birlikte çalışıyorsanız bu oldukça sık gerçekleşir.

Hata ayıklamaya hazır mısınız?

Sen yapmayabilirsin Şimdi Android uygulamalarında hata ayıklama konusunda uzman olun, Logcats'in nasıl toplanıp gönderileceğini öğrenmek, sizi en sevdiğiniz uygulamaların geliştiricileri için harika bir kaynak haline getirebilir. Matlog'u ve yukarıda özetlenen özellikleri kullanmak, arızalı bir uygulama hakkında ilgili bilgileri toplamak, sıralamak ve göndermek hiç bu kadar kolay olmamıştı.


Matlog veya başka bir Logcat uygulamasını kullandınız mı? Bu kılavuzu faydalı buldunuz mu? Aşağıdaki yorumlarda bize bildirin!