Android başladığında bir günlük tutuyor mu?


19

Android için bir ebeveyn kontrolü / hesap verebilirlik uygulaması yapıyorum. Arka planda çalışan ve telefon açıldığında başlayan bir izleme servisinden oluşur.

Ne yazık ki, android "Güvenli Mod" başlatıldığında, hizmetlerin otomatik olarak başlatılmadığını ve bu yüzden benim app ciddi bir kusur olduğunu bulduk.

Güvenli moddayken, web ve diğer uygulamalar izleme hizmetim çalışmadan başlatılabilir.

Güvenli moddayken uygulama etkinliğini izlemek mümkün değilse, belki de en azından telefonumun daha önce güvenli modda olup olmadığını tespit etmesini sağlayabilirim. O zaman ebeveyn veya hesap verebilirlik partnerini uyarabilir mi?

Android bunun herhangi bir kaydını tutar mı? Veya genel olarak herhangi bir önyükleme günlüğü mü? Önerilere ve alternatiflere çok açığım.


2
Bunu yapmanın bir yolu olmadığını umuyorum.
RR

4
Bence bu kapatılmamalı. Bununla ilgilenebilecek olanlar sadece geliştiriciler değil.
RR

@Richard'a katılıyorum. Bu özellikle bir kodlama sorusu değil, Android'in nasıl çalıştığı hakkında.
ale

Yanıtlar:


13

Sanırım kendinizi kısaca yakaladınız, yapabileceğiniz hiçbir şey yok!

Özellikle bu bölümde nedenini açıklayan bu kaynağa bir göz atın :

Sistem Bölümü ve Güvenli Mod

Sistem bölümü, Android çekirdeğini ve işletim sistemi kitaplıklarını, uygulama çalışma zamanını, uygulama çerçevesini ve uygulamaları içerir. Bu bölüm salt okunur olarak ayarlanmıştır. Bir kullanıcı cihazı Güvenli Modda başlattığında, yalnızca temel Android uygulamaları kullanılabilir. Bu, kullanıcının telefonlarını üçüncü taraf yazılım içermeyen bir ortama açabilmesini sağlar.

Anahtar kelimeler üçüncü taraf yazılım içermez

Düzenle:

Android açıldığında logcat, içinde bulunan geçici bir arabellekte, önbelleğini tutar /dev/log. Bu arabellek eşiği vurduğunda geri dönüştürülür, belli ki, eşik ne kadar büyük olursa, Android'in logcat arabelleğine sürekli spam göndermesiyle o kadar yavaş olur;

#define DEFAULT_LOG_ROTATE_SIZE_KBYTES 16
#define DEFAULT_MAX_ROTATED_LOGS 4

Kaynak: system/core/logcat/logcat.cpp

Her uygulamaya ve her uygulamaya göre kaç satır olabileceğini sormayın. Yalnız değil, yeniden başlatıldığında logcat kaybolur!


2
Uygulamasının güvenli modda izleyemediğini bildiklerini yeniden ifade ettiğiniz soruya gerçekten cevap vermediniz. Güvenli mod günlükleri veya alternatifleri hakkında bir şeyler ekleyin ve ardından +1
Peanut

1
@Peanut, Android hala logcat'i kaydedecek, ancak sadece temel hizmetler, başka bir şey yok! Buna bir alternatif yok! Üçüncü taraf uygulamalarının güvenli modun etkinleştirildiğini fark etmesinin bir yolu yoktur, çünkü bir dahaki sefere güvenli moddan çıkıldığında, yani normal olarak yeniden başlat, üçüncü taraf uygulamaları burada hiçbir şey olmadığı gibi "hiçbir şey olmamıştır" diye düşünürler ... birlikte hareket "
t0mm13b

1
Üzgünüm, yorumunuzu görmeden önce yorumumu düzenledim, ama dediğim gibi sorusuna gerçekten cevap vermediniz. Yani bir alternatif, logcat uygulaması olmadığında çalışıp çalışmadığını kontrol etmektir? Açıkçası bu, kişinin bir noktada güvenli modda başlamasını gerektirmez, ancak en azından gerçekçi bir çözümdür.
Fıstık

Logcat içeriği ... /dev/null"her zamanki gibi iş" gibi yeniden başlatma üzerine yıkanır ... sadece .. :) Ve downvote için teşekkürler!
t0mm13b

Ah, bunun farkında değildim ^^ Burada sorusuna bir cevap verdiğiniz için oy kullanacağım :) Bence günlükler hakkındaki bilgileri gerçek cevabınıza eklemelisiniz. edit: Oh, cevabı düzenleyene kadar aslında oy kullanamıyorum: p
Peanut

6

En iyi cevap değil, belki de bilgi yararlı olabilir.

Bunun yeniden başlatıldıktan sonra sistem tarafından üretilen bir günlük içerdiğinin farkında olduğum tek yöntem /proc/last_kmsg.

Çekirdeğin bu yeniden başlatma işleminden sonra bu günlük dosyasını saklayıp saklamadığı, çekirdek derlemesi sırasında sağlanan ayarlara bağlıdır.

Deneyimlerim, bazı stok cihazlarının (HTC) bu günlüğe kaydetmenin etkinleştirildiğini, bazılarının ise olmadığını gösteriyor. Tutarlı bir model görmedim.


Teşekkür ederim! Bu kütük hakkında nereden öğrendin? Bu günlüklerden daha fazlasını nasıl öğrenebileceğim konusunda herhangi bir öneriniz var mı? Bir yerde referans var mı?
jws121295

Herkes benim gibi dolaşırsa, günlük şimdi / sys / fs / pstore / console_ramoops içinde. Dmesg gibi tam bir günlük değildir, ancak temelde sadece son çekirdek paniği ve neye yol açtığı hakkında bilgi içerir.
Evan Langlois

adb shell cp /sys/fs/pstore/console-ramoops /data/media/0/console-ramoops.`date "+%Y_%m_%d_%H_%M_%S"`.logAndroid 8 tabanlı LineageOS ile OP3'te TWRP ile çalışır
beppe9000
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.