Verwenden Sie logcat -f <filename>
, um es in eine Datei im Dateisystem abzulegen.
Stellen Sie sicher, dass der Dateiname, den Sie verwenden, in der SD-Karte ist, also mit /sdcard/...
beginnt.
Auch, um Argumente an die logcat
Programm zu übergeben, sollten Sie die exec
Methode ein Array von Strings (und nicht einen String) übergeben:
String[] cmd = new String[] { "logcat", "-f", "/sdcard/myfilename", "-v", "time", "ActivityManager:W", "myapp:D" };
Schließlich, wenn alles andere fehlschlägt, verwenden Sie den vollständigen Pfad für Logcat: statt nur logcat
.
thanx für reply..I versucht, die gleichen, aber ich bin immer leere Datei –
Bitte beachten Sie, dass es einige Zeit für die Log-Datei nehmen kann Inhalte zu zeigen, wie es Pufferung schreibt in die Datei sein könnte (und ein Schreiben ein paar KB zu einem Zeitpunkt) – adamk
Und noch eine wichtige Sache - stellen Sie sicher, dass Ihre App die Berechtigungen WRITE_EXTERNAL_STORAGE und READ_LOGS hat - oder es wird es nicht erlauben, Protokolle zu lesen und sie auf die SD-Karte zu schreiben. – adamk