Wie führe ich "adb shell" - Befehle in ein terminal-emulator, der lokal auf einem Android-Gerät?

Aus einer shell auf meinem PC, ich kann laufen adb shell cmd package list packages, und erhalten eine Liste aller installierten Pakete. Ich würde gerne diese und ähnliche Befehle lokal auf meinem Android-Handy (Nexus 6P) in einem terminal-emulator (derzeit mit Termux).

Wenn ich öffnen Sie die gleiche shell mit /system/bin/sh, und dann versuchen, führen Sie /system/bin/cmd package list packages, passiert nichts (keine Fehler, einfach nichts Ausgänge und lädt die Eingabeaufforderung).

Wenn ich /system/bin/cmd -l die Liste der Optionen wird angezeigt, wie erwartet. $PATH und $LD_LIBRARY_PATH sind die gleichen, die in beiden Umgebungen. Ein wichtiger Unterschied ist, dass echo $USER gibt "shell" aus adb shell, aber zurück zu meinem lokalen Benutzernamen aus /system/bin/sh gestartet Termux.

Gibt es eine Möglichkeit, zu replizieren, das Verhalten der Befehle ausführen, von adb shell in einem terminal-emulator, der lokal auf Android?

Bearbeiten:
Mein Gerät ist verwurzelt, und ich bin OK mit root nur Lösungen.

Sie können sich auf github.com/termux/termux-app/issues/77
Danke für den link. Ich denke aber, dass link tatsächlich versucht, zu tun das entgegengesetzte von, was ich will: emulieren das Verhalten von termux von adb. Eigentlich möchte ich, um zu emulieren das Verhalten der Befehle ausführen, von adb shell in einer shell ausgeführt wird, lokal auf dem Gerät. Meine Verwirrung ist, dass ich bin läuft die gleiche binary unter Verwendung der gleichen shell-binary auf dem gleichen Gerät und immer einen anderen Ausgang (technisch keine Ausgabe beim ausführen lokal).

InformationsquelleAutor rjdang | 2017-10-29

Schreibe einen Kommentar