Yanıtlar:
Market'teki bu ücretsiz uygulamalar, logcat'inizi gösterebildiğini iddia ediyor ve kökten bahsetmiyor. Bunları denemeniz için yalnızca birkaç dakikanızı ayırın:
DÜZENLEME: @mente sayesinde bu uygulamaların yalnızca Android'in eski sürümlerinde tam günlük dosyasını görüntülemenize izin vereceğini hatırlattığı için. Android 4.1, uygulamaların yalnızca kendi günlük dosyalarını ve günlük dosyası girdilerini okuyabileceği ve sistem veya diğer uygulamalar tarafından yazılan günlük dosyası girdilerini okuyamayacağı anlamına gelen günlük dosyalarının etrafında yeni bir güvenlik modeli getirdi.
Bununla birlikte, bir uygulamanın kullanıcısının uygulamanın son günlük girişlerinin bir geliştiriciye gönderilmesi için bir günlük dosyası oluşturmasının ve bir telefon sahibinin bir uygulamanın günlük dosyasını tam kök olmadan okumasına izin vermek için izin vermesinin bir yolu vardır, ancak bu bir ADB komutu kullanmanızı gerektirir; bu komut, maalesef çoğu normal telefon kullanıcısının erişemeyeceği bir durumdur:
Kullanıcının size hata ayıklama bilgileri vermesini istiyorsanız , günlükleri ve diğer pek çok veriyi içeren güç + ses kısma + ses açma özelliğine sahip bir hata raporu oluşturmalarını ve tümünü göndermek için otomatik olarak e-posta uygulamasını açmalarını sağlayabilirsiniz. (artı bir ekran görüntüsü). Sadece bunları oluşturmak için daha kolay bir yolumuz olması gerektiğini tartışıyorduk, ayarlar uygulamasına bir şey eklemeye bakacağım.
Ayrıca okuma günlükleri olarak sınıflandırılan bir "geliştirme" izni kavramını tanıtmaya başladım . Bu, uygulamanın izin istemesine izin verir, ancak yükleme sırasında almaz. Ancak kurulduktan sonra bir adb shell komutuyla verebilirsiniz . Bir noktada daha sonra bunu yapmak için sistemde bir kullanıcı arayüzü olmasını bekliyorum, ancak bunu nasıl sunduğumuza dikkat etmek için bunu tutacağız.
Günlüklere okuma izni vermek için belirtilen ADB komutu:
adb shell pm grant <pkg> android.permission.READ_LOGS
Bu ayar, uygulamanın yeniden başlatılmasından ve yükseltmelerinden hayatta kalmalıdır (ancak yüklemeleri kaldırmaz / yeniden yüklemez).
Sen çalıştırmak için root telefonunuzu gerekmez
adb logcatAndroid SDK ile, ama az önce de test yaptım Terminal Emülatörü ve ben kök (kullanılmış olmak zorundaydı ki
sukomut - benim telefon zaten köklü bir) içinde logcat çalıştırmak için telefonumdaki terminal.
Evet, telefonunuzda root varsa, telefonunuzdaki bir terminalden logcat'i çalıştırabilirsiniz.
Hayır, logcat bilgilerini almak için root'a ihtiyacınız yoktur.
Bunu yapmak için, muhtemelen Android SDK'yı indirmek ve SDK ile birlikte gelen adb aracını kullanarak "adb logcat" i çalıştırmak istersiniz. Alternatif olarak, ADT Eclipse eklentisini yükleyebilir ve kullanışlı akışlı Logcat görüntüleyicisini kullanabilirsiniz.
Hayır, logcat'e erişmek için root'a ihtiyacınız yok. Cihazım (Samsung Galaxy Note, stok ROM'lu Gingerbread 2.3.6) köklü değil (henüz!) Ve cihazımdaki günlüğe erişmek için aşağıdaki yolları kullandım:
adb logcat
Ancak, Terminal uygulaması logcat'i çalıştırmanıza izin vermez ve size "izin verilmedi" izni verir. Neden olduğundan emin değilim.
Telefonunuzda root olmadan Terminal Emulator'dan logcat'i çalıştıramayacağınız anlaşılıyor. Bu durumda önce su için yapmanız gerekir. AFAIK, Android'den geliyor İzinler: Terminal Emulator sadece cihazın günlüğünü görüntülemek için yeterli izne sahip değil. Yani sistem, İzin'in reddedildiğini söylüyor.
Öte yandan, diğerlerinin söylediği gibi, sadece izin istedikleri için cihazın günlüğünü görüntülemenize izin veren birçok uygulama var.
Uygulama Android Sistem Bilgisi , logcat'in tükettiği ile aynı günlük bilgisi olduğunu söyleyebildiğim kadarıyla ekrana günlük bilgisi çıktılama yeteneğine sahiptir.
Logcat root gerektirmez. Simples - farklı Android sürümleri ile ilgili olarak fiili bir standarttır ve köklü olup olmadığınıza bakılmaksızın Android'in bir parçasıdır ve örneğin sorunları teşhis etmek için standart bir araçtır - bir uygulama yüklerseniz, App force close, söz konusu uygulamanın geliştiricisine şikayet edersiniz, şansınız geliştiricinin köklü olup olmadığınıza bakılmaksızın "logcat üzerinden gönder" ibaresi oldukça yüksektir!
aLogCat , web sayfası düzenine veya düz metne oturum açma seçeneğiyle bilgileri toplamanın bir yoludur, her 15 dakikada bir gibi belirli bir sıklıkta oturum açmayı planlıyorsanız, SDCard oldukça hızlı bir şekilde dolar.
Başka bir yönü, logcat kullanımı çekirdeğin ne kadar depolayabileceğine bağlı olacaktır - ROM tarafından kullanılan herhangi bir çekirdeğe, günlük kaydı kaynağı, logcat hizmeti için belleği ayıran bir çekirdek düzeyinden kaynaklanır.
drivers/staging/android/logger.cörneğin uygun tanımlar kullanılarak bulunabilir :
DEFINE_LOGGER_DEVICE (log_main, LOGGER_LOG_MAIN, 64 * 1024) DEFINE_LOGGER_DEVICE (log_events, LOGGER_LOG_EVENTS, 256 * 1024) DEFINE_LOGGER_DEVICE (log_radio, LOGGER_LOG_RADIO, 64 * 1024) DEFINE_LERGICE_ LOGGERG Sistem
Yine, kilometre değişecek, bu tür ROM'ların bazı geliştiricileri bellek ek yüklerini azaltmak için tüketimi en aza indirmeyi seçecekler ...