Ich gebe Ergebnisse eines Android-Shell-Befehls mit der MS-Windows-Eingabeaufforderung über ADB.exe in eine Datei aus.
Es gibt die richtigen Ergebnisse aus, aber ich erhalte eine zusätzliche Zeile zwischen jedem Ergebnis. In der interaktiven Eingabeaufforderung sieht es normal aus (ohne zusätzliche Zeilen), aber wenn es in einer Datei gespeichert wird, werden die zusätzlichen Zeilen angezeigt.
Ich verwende Notepad++, um die Dateiausgabe anzuzeigen. Beim Anzeigen aller Symbole wird am Ende jeder gedruckten Zeile ein CR (Wagenrücklauf) und für jede leere Zeile ein CR LF angezeigt.
Ist es möglich, die Ergebnisse ohne die zusätzlichen Zeilen in eine Datei auszugeben und wenn ja, was könnte die Ursache dafür sein?
Interaktiv, Ausgabe direkt auf das Terminal
D:\>adb shell "ls -l"
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
Umleitung zur Datei
D:\>adb shell "ls -l" > test.log
drwxr-xr-x root root 2009-12-31 19:00 acct
drwxrwx--x system cache 2020-03-12 07:14 cache
lrwxrwxrwx root root 1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root root 2009-12-31 19:00 config
Antwort1
Versuchen
adb shell -T "ls -l" > test.log
oder wenn sie sich darüber beschwert, dass error: device only supports allocating a pty
:
adb shell "ls -l >/data/local/tmp/list"; adb pull /data/local/tmp/list test.log
Nicht alle Geräte unterstützen die von SSH inspirierten -t
Optionen -T
, selbst wenn Ihr adb
Client-Programm dies tut.
Dies ist nicht Windows-spezifisch: Selbst auf einem Unix-System adb shell "ls -l" > test.log
wird eine Datei mit unerwünschten zusätzlichen Wagenrückläufen am Ende der Zeilen erstellt.