Je crée une application de contrôle parental / responsabilité pour Android. Il se compose d'un service de surveillance qui s'exécute en arrière-plan et démarre au démarrage du téléphone.
Malheureusement, j'ai constaté que lorsque Android est démarré en "Mode sans échec", les services ne sont pas démarrés automatiquement, et à cause de cela, mon application présente un grave défaut.
En mode sans échec, le Web et d'autres applications peuvent être démarrés sans mon service de surveillance en cours d'exécution.
Je pensais que s'il n'était pas possible de surveiller l'activité de l'application en mode sans échec, je pourrais peut-être au moins que mon application détecte si le téléphone était auparavant en mode sans échec. Cela pourrait alors alerter le parent ou le partenaire responsable?
Android garde-t-il un journal de cela? Ou tout journal de démarrage en général? Je suis très ouvert aux suggestions et alternatives.
Réponses:
Je pense que vous vous êtes rattrapé, bref, vous ne pouvez rien faire!
Jetez un œil à cette source qui explique pourquoi, en particulier dans cette section:
Partition système et mode sans échec
Les mots clés sont exempts de logiciels tiers
Éditer:
Lorsque Android démarre, il conserve un cache de
logcat
, dans un tampon temporaire réservé dans/dev/log
. Ce tampon est recyclé lorsqu'il atteint le seuil, évidemment, plus le seuil est élevé, plus Android est lent avec le spam continu dans le tampon logcat, donc réduit au minimum - iirc, son environ 64K:La source:
system/core/logcat/logcat.cpp
Ne demandez pas combien de lignes peuvent être différentes pour chaque application. Non seulement cela, le logcat disparaît au redémarrage!
la source
/dev/null
redémarrage comme "business as usual" ... juste en disant .. :) Et merci pour le downvote!Ce n'est pas la meilleure réponse, mais peut-être que les informations seront utiles.
La seule méthode que je connaisse qui contient un journal produit par le système après un redémarrage
/proc/last_kmsg
.Le fait que le noyau conserve ou non ce fichier journal après un redémarrage dépend des paramètres fournis lors de la compilation du noyau.
Mon expérience a montré que certains appareils de stock (HTC) ont cette journalisation activée et d'autres pas. Je n'ai pas vu de schéma cohérent.
la source
adb shell cp /sys/fs/pstore/console-ramoops /data/media/0/console-ramoops.`date "+%Y_%m_%d_%H_%M_%S"`.log
fonctionne avec TWRP sur OP3 avec LineageOS basé sur Android 8