2016-05-18 15 views
0

In meiner Anwendung verwende ich jedes Mal, wenn ich frische Log-Cat-Logs lesen möchte, die unten genannten adb-Befehle.Android: Was ist der Einfluss von adb logcat -c?

  1. adb logcat -d -v Zeit *: E

    -> Damit werden die neuesten logs geben.

  2. adb logcat -c

    -> Diese alle Protokolle löschen wird und existieren

Wenn ich wieder erste Befehl ausführen, werde ich nur die aktuellen Protokolle erhalten (wie alte Protokolle von 2. gelöscht Befehl)

Dies werde ich programmatisch (wie meine App unterzeichnet) durch den Tag.

Also, wenn ich Befehl "adb logcat -c" verwenden wird löscht es alle Protokolle dauerhaft?, Wenn Benutzer, die alten Protokolle für einige Debugging-Zwecke zugreifen möchten, wie würden sie auf die alten Protokolle zugreifen können? Werden sie Zugang haben?

Schlage mich vor, wenn ich hier etwas falsch mache.

Vielen Dank im Voraus!

Antwort

1

Logcat Protokollpuffer ein Drehringpuffer im Speicher befindet, ist die Puffergröße typischerweise 256 KB (Sie 64KB ~ 16MB config).

als Ringpuffer, wenn der Puffer voll ist, werden die ältesten Protokolleinträge gelöscht werden, um die neuen Protokolle zu speichern.

Also für Ihre Frage 1, JA. Die logcat -c löscht alle Protokolle dauerhaft.

Für Frage 2, seit Google die Berechtigung READ_LOGS für Anwendungen nach API 16 (JellyBean) entfernt hat, wenn Sie kein Root-Gerät oder eine System-App sind, können Sie nicht. Andernfalls können Sie, wenn Sie über Systemberechtigungen verfügen, einen Hintergrunddienst starten, um beim Systemstart eine Logcat-Protokolldatei in eine Datei zu übertragen.

Hoffe, das hilft.

+0

Gibt es eine Möglichkeit, das aktuelle Protokoll immer zu erhalten? – Pampapathi

Verwandte Themen