- Rakesh
- 15. März 2020
ADB oder Android Debug Bridge ist ein Kommandozeilen-Tool, das entwickelt wurde, um die Kommunikation zwischen einem Computer und einem angeschlossenen Emulator oder Android-Gerät zu erleichtern. Mit ADB- und ADB-Shell-Befehlen können wir verschiedene Aktionen auf einem Gerät durchführen. Damit Sie ADB- und Fastboot-Befehle ausführen können, muss das Android SDK Platform-tools-Paket auf Ihrem Windows-, Linux- oder macOS-Computer installiert sein. In diesem Artikel werden wir eine riesige Liste von ADB-Shell-Befehlen mit einem Spickzettel erkunden.
Vergessen Sie nicht, sich die detaillierte Liste der ADB-Befehle anzusehen, in der die Funktion jedes einzelnen erklärt wird.
Was ist ADB-Shell?
ADB-Befehle können verwendet werden, um Android-Geräte zu debuggen, Apps zu installieren oder zu deinstallieren und Informationen über ein angeschlossenes Gerät zu erhalten. ADB arbeitet mit Hilfe von drei Komponenten namens Client, Daemon und Server. Wenn Sie neugierig sind, wie diese 3 Komponenten zusammenarbeiten, damit ADB und ADB-Shell-Befehle funktionieren, lesen Sie unten:
- Client: Das ist der eigentliche Computer, auf dem Sie ein Kommandozeilen-Terminal verwenden, um einen ADB-Befehl zu erteilen. der Befehle sendet.
- Daemon: Oder, ADBD ist ein Hintergrundprozess, der auf beiden angeschlossenen Geräten läuft. Er ist für die Ausführung von Befehlen auf einem angeschlossenen Emulator oder Android-Gerät verantwortlich.
- Server: Er läuft im Hintergrund und arbeitet als Brücke zwischen dem Client und dem Daemon und verwaltet die Kommunikation. der die Kommunikation zwischen dem Client und dem Daemon verwaltet.
ADB Shell-Befehle bieten Zugriff auf eine Unix-Shell, die einen Befehl direkt auf Ihrem Android-Gerät ausführt. Sobald Sie einen „adb shell“-Befehl auf dem Kommandoterminal ausführen, sendet dieser ein Signal an Ihr Android-Gerät und löst die Remote-Shell-Befehlskonsole aus. So können Sie mit ADB-Shell-Befehlen Ihr Android-Gerät steuern.
Mit ADB-Befehlen können Sie Ihr Gerät neu starten, Dateien pushen und ziehen, ein Backup erstellen und wiederherstellen, ein Update-Zip-Paket oder eine APK sideloaden. ADB-Shell-Befehle funktionieren jedoch auf einer viel tieferen Ebene. Sie können verwendet werden, um die Auflösung Ihres Gerätedisplays zu ändern, Bloatware oder System-Apps zu deinstallieren, Funktionen zu aktivieren und zu deaktivieren, die Systemdateien zu modifizieren und ihre Konfiguration direkt mit Befehlen von Ihrem Computer aus zu ändern.
Eigentlich gibt es noch mehr Aufgaben, die Sie mit diesen Befehlen durchführen können, und unten werden wir sie alle mit Beispielen überprüfen. Bitte beachten Sie, dass es drei Voraussetzungen gibt, bevor Sie ADB, Fastboot und die ADB-Shell-Befehle nutzen können.
- Android SDK Plattform-Tools
- USB-Treiber für Ihr Android-Gerät
- Aktivieren Sie USB-Debugging
Jetzt können Sie Web ADB in einem Webbrowser-Fenster verwenden, um ADB-Befehle auf einem Android-Gerät oder Computer auszuführen, ohne ADB- und Fastboot-Tools und USB-Treiber zu installieren.
Schließlich, ohne weitere Umstände, lassen Sie uns mit unserer Liste von ADB-Shell-Befehlen fortfahren.
Warnung: Verwenden Sie die auf dieser Seite erwähnten Befehle nur, wenn Sie wissen, wie man sie verwendet und über einige Vorkenntnisse oder Erfahrungen verfügen.
ADB-Shell-Befehlsliste & Spickzettel
In diesem Spickzettel für ADB-Shell-Befehle werde ich versuchen, die Funktion aller Befehle in einfacher Sprache zu erklären.
adb shell
Dieser Befehl aktiviert die Remote-Shell-Befehlskonsole auf dem angeschlossenen Android-Smartphone oder -Tablet.
adb shell pm uninstall
Dies ist wirklich ein sehr nützlicher ADB Shell-Befehl. Mit ihm können Sie die unerwünschten System-Apps einfach deinstallieren. Um ihn ausführen zu können, müssen Sie zuerst den Befehl „adb shell“ aufrufen. Sie können dann pm uninstall -k --user 0
oder pm uninstall --user 0
gefolgt vom Namen des Android-App-Pakets wie unten gezeigt verwenden.
pm uninstall -k --user 0 com.facebook.appmanager
-k
: Behalten Sie die App-Daten und den Cache nach der Paketentfernung. Wenn Sie möchten, dass auch die App-Daten gelöscht werden, verwenden Sie Folgendes
pm uninstall --user 0 com.android.chrome
Wenn Sie den Namen des App-Pakets für die Apps, die Sie entfernen möchten, nicht kennen, können Sie adb shell pm list packages
verwenden, um es zu finden.
Dieser Befehl kann Ihnen helfen, wenn Sie alle Bloatware von Ihrem Android-Telefon entfernen möchten. Bitte beachten Sie, dass die meisten System-Apps nicht die Option „Deinstallieren“ auf dem Gerät haben, aber dieser Befehl funktioniert auf magische Weise.
adb shell cmd package install-existing
Mit dem obigen Befehl können Sie eine deinstallierte System-App wieder installieren.
cmd package install-existing com.facebook.appmanager
adb shell pm disable-user -user 0
Wenn Sie eine System-App auf Ihrem Android-Gerät deaktivieren möchten, können Sie den obigen Befehl gefolgt vom Namen des App-Pakets ausführen
pm disable-user --user 0 com.google.ar.core
adb shell pm clear -user 0
Mit diesem Befehl können Sie alle mit einer App verbundenen Daten löschen.
adb shell pm clear -user 0 com.facebook.appmanager
adb shell pm hide -user 0
Wenn Sie eine installierte App auf Ihrem Android-Gerät verstecken wollen, können Sie diese Befehlszeile gefolgt vom Namen des App-Pakets ausführen.
adb shell pm hide --user 0 com.whatsapp
adb shell pm list packages
Mit dem oben genannten ADB-Shell-Befehl können Sie die Liste der App-Paketnamen für alle auf Ihrem Android-Gerät installierten Apps ausgeben. Sie können diesen Befehl mit verschiedenen Parametern verwenden, um eine spezifischere Liste der App-Pakete zu erhalten.
Wenn Sie beispielsweise nur die System-Apps auflisten möchten, verwenden Sie
adb shell pm list packages -s
Um alle auf Ihrem Android-Telefon oder -Tablet installierten Apps von Drittanbietern aufzulisten, geben Sie den folgenden Befehl aus.
adb shell pm list packages -3
Wollen Sie, dass die ADB Shell die Liste aller aktivierten oder deaktivierten Apps auf Ihrem Gerät anzeigt, probieren Sie den Befehl mit den Parametern ‚-d‘ (für deaktivierte Apps), ‚-e‘ (für aktivierte Apps) und ‚-u‘ (für deinstallierte Apps) aus.
adb shell pm list packages -d
adb shell pm list packages -e
adb shell pm list packages -u
Um App-Pakete mit bestimmten Schlüsselwörtern aufzulisten, filtern.
adb shell pm list packages <keywords>
Um die Liste der Apps zusammen mit den zugehörigen Paketen zu finden, führen Sie den folgenden Befehl aus
adb shell pm list packages -f
Sie können ganz einfach eine Liste von Gruppenpaketen nach einem bestimmten Hersteller oder einem allgemeinen Begriff erhalten. Wenn Sie zum Beispiel alle Apps von Google auflisten möchten, können Sie den folgenden Befehl verwenden.
adb shell pm list packages | grep 'google'
Sie können „google“ durch „samsung“, „huawei“, „xiaomi“, „miui“, „evenwell“, „android“, „facebook“ usw. ersetzen, um die gewünschte Liste von Paketen zu erhalten.
adb shell pm path <package-name>
Dieser Befehl zeigt den APK-Pfad im Dateisystem des Geräts an.
adb shell pm create-user
Mit diesem Befehl können Sie einen neuen Benutzer auf Ihrem Android-Gerät anlegen.
adb shell pm create-user username
adb shell pm remove-user
Für den Fall, dass Sie einen Benutzer von Ihrem Gerät entfernen möchten, können Sie den obigen Befehl mit gefolgt vom user_id
wie unten gezeigt verwenden.
adb shell pm remove-user user 1
adb shell pm get-max-users
Mit diesem Befehl können Sie die maximale Anzahl der Benutzer ausgeben, die auf einem Android-Gerät unterstützt werden.
adb shell pm list features
Mit dem obigen Befehl können Sie alle unterstützten Funktionen des Systems ausgeben.
adb shell pm list permissions
Dieser Befehl gibt die Liste aller bekannten Berechtigungen aus, optional nur die in group
. Sie können ihn mit den folgenden Parametern verwenden.
-
-g
: Berechtigungen nach Gruppen sortieren -
-f
: Alle Informationen drucken -
-s
: Kurze Zusammenfassung der Berechtigungen -
-d
: Nur gefährliche Berechtigungen auflisten -
-u
: Nur die Berechtigungen auflisten, die der Benutzer sieht
adb shell pm list permissions -d group
adb shell settings
Sie können diesen Befehl verwenden, um Informationen über bestimmte Einstellungen auf Ihrem Android-Gerät zu erhalten. Durch Hinzufügen verschiedener Parameter können Sie den Android-Einstellungsanbieter, die aktuelle Systemlautstärke, den Benachrichtigungston, die Geräte-ID, die Bluetooth-MAC-Adresse, den aktuellen mobilen Datenstatus, den aktuellen WiFi-Status usw. herausfinden.
-
adb shell settings list system
-
adb shell settings get system volume_system
-
adb shell settings get system notification_sound
-
adb shell settings list secure
-
adb shell settings get secure android_id
-
adb shell settings get secure bluetooth_address
-
adb shell settings list global
-
adb shell settings get global mobile_data
-
adb shell settings get global wifi_on
adb shell dumpsys
Es ist ein sehr flexibler Befehl, der allein oder mit verschiedenen Parametern verwendet werden kann, um Daten bezüglich der Batterie zu erhalten, Display, CPU, RAM, Speicher, etc. Durch die Ausführung dieses Befehls erhalten Sie detaillierte Informationen über die Software- und Hardwarekonfiguration des Android-Geräts.
Hinweis: Um dieses Tool zu verwenden, vergessen Sie nicht, die Berechtigung automatisch in Ihr Android-Manifest hinzuzufügen android.permission.DUMP
adb shell dumpsys
Weitere Varianten des Befehls sind wie folgt:
-
adb shell dumpsys input
-
adb shell dumpsys display
-
adb shell dumpsys battery
-
adb shell dumpsys batterystats
-
adb shell dumpsys activity
-
adb shell dumpsys cpuinfo
-
adb shell dumpsys battery
Die Ausführung des Befehls ‚adb shell dumpsys cpuinfo‘, gibt zum Beispiel eine Liste der CPU-Auslastung durch die laufenden Prozesse und Apps auf Ihrem Android-Gerät aus, wie unten gezeigt:
PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device PS C:\Users\Technastic\Desktop> adb shell dumpsys cpuinfo Load: 12.48 / 12.76 / 12.82 CPU usage from 138400ms to 89027ms ago: 8.1% 5954/system_server: 5.5% user + 2.5% kernel / faults: 9802 minor 5 major 3.1% 6485/com.android.phone: 2.2% user + 0.9% kernel / faults: 6575 minor 1 major 2.7% 6596/com.android.systemui: 2.1% user + 0.6% kernel / faults: 3178 minor 1 major 2.6% 26484/com.netflix.mediaclient: 1.3% user + 1.3% kernel / faults: 109 minor 2% 2231/sugov:0: 0% user + 2% kernel 1% 24100/kworker/u18:2: 0% user + 1% kernel 1% 5706/statsd: 0.9% user + 0.1% kernel 0.5% 3752/ueventd: 0.4% user + 0.1% kernel / faults: 25 minor 0.5% 5721/rild: 0.3% user + 0.2% kernel / faults: 20 minor 0.5% 5169/logd: 0.3% user + 0.2% kernel / faults: 43 minor 0.5% 5558/surfaceflinger: 0.3% user + 0.2% kernel / faults: 1 minor 0.4% 5170/servicemanager: 0.2% user + 0.2% kernel 0.4% 1/init: 0.3% user + 0% kernel 0.4% 19725/kworker/u17:3: 0% user + 0.4% kernel 0.3% 5546/lmkd: 0% user + 0.3% kernel 0.3% 5456/kworker/u17:1: 0% user + 0.3% kernel 0.3% 5715/argosd: 0.1% user + 0.1% kernel 0.3% 2233/sugov:4: 0% user + 0.3% kernel 0.2% 23487/kworker/u18:0: 0% user + 0.2% kernel 0.1% 23896/kworker/u16:3: 0% user + 0.1% kernel / faults: 6 minor 0.1% 8/rcu_preempt: 0% user + 0.1% kernel 0.1% 5718/lhd: 0% user + 0.1% kernel 0.1% 23489/kworker/0:2: 0% user + 0.1% kernel
adb shell wm density
Mit dem obigen Befehl können Sie die Pixeldichte des Displays Ihres Android-Geräts herausfinden.
adb shell dumpsys window displays
Sie erhalten eine sehr detaillierte Ausgabe im Befehlsfenster mit Infos wie Pixelauflösung, FPS und DPI des Displays Ihres Telefons.
Display: mDisplayId=0 init=1440x3040 560dpi base=1080x2280 420dpi cur=1080x2280 app=1080x2069 rng=1080x1017-2069x2069 deferred=false mLayoutNeeded=false mTouchExcludeRegion=SkRegion((0,0,1080,2280)) mDisplayInfo=DisplayInfo{"Built-in Screen, displayId 0", uniqueId "local:0", app 1080 x 2069, real 1080 x 2280, largest app 2069 x 2069, smallest app 1080 x 1017, mode 1, defaultMode 1, modes [{id=1, width=1440, height=3040, fps=60.000004}
adb shell wm size
Mit diesem Befehl können Sie die Displayauflösung Ihres Telefons herausfinden.
PS C:\Users\Technastic\Desktop> adb shell wm size Physical size: 1440x3040 Override size: 1080x2280
Wenn Sie die Bildschirmauflösung und die Pixeldichte des Displays Ihres Androiden ändern möchten. Wenn Sie sich über die Display-Auflösung Ihres Geräts nicht sicher sind, führen Sie den unten angegebenen Befehl aus. Angenommen, die Displayauflösung Ihres Telefons ist QHD+, dann können Sie sie leicht auf Full HD+ oder HD+ ändern.
- FHD
adb shell wm size 1080x2220
adb shell wm density 420
- HD
adb shell wm size 720x1560
adb shell wm density 360
ADB-Shell-Befehl zum Senden von SMS-Bildschirm
Wenn Sie eine Textnachricht mit einem Befehl senden möchten, versuchen Sie den folgenden Code.
adb shell am start -a android.intent.action.SENDTO -d sms:+918052000222 --es sms_body "Test --ez exit_on_sent false
adb shell screencap
Mit diesem Befehl können Sie einen Screenshot aufnehmen und mit dem ‚adb pull‘-Befehl wie oben beschrieben auf Ihren Computer herunterladen.
adb shell screencap /sdcard/screenshot-01.png
adb shell screenrecord
Auf Android-Geräten mit Android 4.4 KitKat und höher können Sie sogar den Bildschirm Ihres Telefons oder Tablets aufnehmen und das aufgenommene Video auf Ihren Computer herunterladen. Außerdem können Sie Bedingungen wie Videodauer, Auflösung in Pixeln und Videobitrate usw. einstellen.
adb shell screenrecord /sdcard/screenrecord-01.mp4
adb pull screenrecord /sdcard/screenrecord.mp4
Sie können die Bildschirmaufnahme mit Strg+C stoppen. Falls Sie den Bildschirm in einer bestimmten Auflösung aufzeichnen möchten, können Sie mit dem folgenden Befehl eine benutzerdefinierte Breite und Höhe in Pixeln einstellen.
adb shell screenrecord --size 1920x1080 /sdcard/screenrecord-01.mp4
Standardmäßig ist die Dauer des Bildschirmrecorders von Android auf 180 Sekunden (3 Minuten) eingestellt. Sie können dieses Zeitlimit nach Ihren Bedürfnissen verringern (180 Sekunden ist die maximale Grenze).
adb shell screenrecord --time-limit 120 /sdcard/screenrecord-01.mp4
Auch die Bitrate der Videoausgabe können Sie bestimmen. Um die Bitrate z.B. auf 4MBPS zu setzen, können Sie folgenden Wert verwenden:
adb shell screenrecord --bit-rate 6000000 /sdcard/screenrecord-01.mp4
adb shell getprop & adb shell setprop
Mit den Befehlen „getprop“ und „setprop“ kann die Konfiguration der Datei „build.prop“ auf Android-Geräten eingesehen und gesetzt bzw. geändert werden. Der folgende Befehl zeigt z. B. die Informationen zu den Android-Systemeigenschaften an.
adb shell getprop
Nachfolgend einige weitere Beispiele:
getprop ro.build.version.sdk
getprop ro.chipname
Wenn Sie den Wert eines Eintrags in der build.prop ändern möchten, können Sie die ‚adb shell setprop‘-Befehle verwenden. Siehe die folgenden Beispiele:
getprop net.dns1 1.2.3.4
setprop net.dns1 1.3.4.5
getprop net.dns2 1.1.2.3
setprop net.dns2 1.2.3.4
Auf dieselbe Weise können Sie den folgenden Befehl verwenden, wenn Sie die Konfiguration der VMHeap-Größe auf Ihrem Android-Gerät ändern möchten.
setprop dalvik.vm.heapsize 60m
Es gibt noch einige weitere Variationen des Befehls ‚adb shell getprop‘, mit denen Sie Informationen über Android-Systemeigenschaften, SDK-API-Level, Android-Sicherheitspatch-Version, Soc, Android-Version, Gerätemodell, Gerätehersteller, ADB-Seriennummer, OEM-Entsperrungsstatus, Android-Geräte-Build-Fingerprint, WiFi-MAC-Adresse usw. anzeigen können.
-
adb shell getprop
-
adb shell getprop ro.build.version.sdk
-
adb shell getprop ro.build.version.security_patch
-
adb shell getprop ro.board.platform
-
adb shell getprop ro.build.version.release
-
adb shell getprop ro.vendor.product.model
-
adb shell getprop ro.product.manufacturer
-
adb shell getprop ro.serialno
-
adb shell getprop ro.oem_unlock_supported
-
adb shell getprop ro.bootimage.build.fingerprint
-
adb shell getprop ro.boot.wifimacaddr
adb -s shell getprop
Wenn Sie die komplette Konfiguration überprüfen wollen, laufende Dienste und Informationen über Ihr Android-Telefon oder -Tablet abrufen möchten, können Sie den obigen Befehl verwenden. Führen Sie zunächst den adb devices
Befehl aus und kopieren Sie den alphanumerischen Wert Ihrer Geräte-ID aus der Ausgabe.
PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device
Dann führen Sie den folgenden Befehl aus. Vergessen Sie nicht, die blau markierte Geräte-ID durch die ID Ihres Geräts zu ersetzen.
adb -s RZ8M810BARJ shell getprop
adb shell cat /proc/cpuinfo
Mit dem obigen Befehl erhalten Sie vollständige Informationen über die CPU Ihres Telefons oder Tablets.
Eigenschaften eines Android-Geräts abrufen
Mit dem folgenden Befehl können Sie die Systemeigenschaften einsehen.
adb shell getprop | grep -e 'model' -e 'version.sdk' -e 'manufacturer' -e 'hardware' -e 'platform' -e 'revision' -e 'serialno' -e 'product.name' -e 'brand'
adb shell cd
Wechseln Sie das Verzeichnis der ADB-Shell mit ‚cd <Verzeichnis>‘
adb shell
Dann führen Sie den folgenden Befehl aus:
cd /system
adb shell rm
Mit diesem Befehl können Sie ganz einfach eine Datei oder einen Ordner aus dem Speicher Ihres Android-Geräts löschen. Starten Sie das Befehlsfenster, führen Sie den Befehl „adb shell“ aus und versuchen Sie dann den folgenden Befehl mit den Parametern „-f“ (zum Löschen einer Datei) und „-d“ (zum Entfernen eines Verzeichnisses).
rm -f /sdcard/com.whatsapp.apk
rm -d /sdcard/WhatsApp
Hinweis: Anstelle von ‚rm-d‘ können Sie auch ‚rmdir‘ verwenden.
adb shell mkdir
Neben dem Löschen eines bestehenden Verzeichnisses oder Ordners können Sie mit der ADB Shell auch ein neues Verzeichnis oder Unterverzeichnis erstellen. Nicht nur das, Sie können auch Rechte für den neu erstellten Ordner festlegen.
mkdir /sdcard/NewFolder mkdir -p /sdcard/NewFolder/NewFolder1 mkdir -m 644 /sdcard/NewFolder
adb shell cp
‚cp‘ steht für ‚copy‘. Mit diesem Befehl können Sie Dateien und Verzeichnisse kopieren, die sich auf Ihrem Android-Gerät befinden. Auch hier müssen Sie zuerst mit dem Befehl ‚adb shell‘ beginnen.
Um Dateien zu kopieren und dann einzufügen, geben Sie die Quell- und Zielorte wie unten gezeigt an:
cp /sdcard/OPWallpaperResources.apk /sdcard/DCIM/Camera
adb shell mv
‚mv‘ steht für ‚move‘. Mit diesem Befehl können Sie eine auf Ihrem Gerät gespeicherte Datei von einem Quell- zu einem Zielort verschieben.
mv /sdcard/livewallpapers.apk /system/app
Mit dem folgenden Befehl können Sie eine Datei mit einem neuen Namen verschieben.
mv /sdcard/livewallpapers.apk /sdcard/Wallpapers
adb shell top
Um die Liste der wichtigsten CPU-Prozesse auf einem Android-Telefon oder -Tablet anzuzeigen, können Sie den obigen Befehl verwenden. Der CPU-Prozess-Monitor kann mit Strg+C gestoppt werden.
adb shell ip
Ermitteln Sie die WiFi-IP-Adresse eines Android-Telefons oder -Tablets.
ip -f inet addr show wlan0
adb shell netstat
Zeigt die Netzwerkstatistiken von Android-Telefonen an.
adb shell netstat
KeyEvent-Befehle
Android-Geräte unterstützen KeyEvent-Befehle, mit denen Sie bestimmte Aktionen ausführen können, die das Drücken einer Hardware-Taste oder das Tippen auf eine App oder UI-Option erfordern. Sie können Ihr Android-Telefon oder -Tablet-Gerät einfach mit diesen KeyEvent-Befehlen steuern. Diese Befehle können sich als nützlich erweisen, wenn die Hardwaretasten Ihres Geräts aufgrund eines Schadens nicht richtig funktionieren.
-
Turn Android device ON or OFF: adb shell input keyevent 2
-
Press Home button: adb shell input keyevent 3
-
Press Back button: adb shell input keyevent 4
-
Press Call button: adb shell input keyevent 5
-
End a call: adb shell input keyevent 6
-
Turn ON the camera: adb shell input keyevent 27
-
Open wen browser: adb shell input keyevent 64
-
Press the Enter key: adb shell input keyevent 66
-
Press Backspace button: adb shell input keyevent 67
-
Open Contacts app: adb shell input keyevent 207
Decrease display brightness: adb shell input keyevent 220
Increase Display brightness: adb shell input keyevent 221
Cut text: adb shell input keyevent 277
Copy text: adb shell input keyevent 278
Paste text: adb shell input keyevent 279
Mehr über die KeyEvent-Befehle erfahren Sie auf dem Google-Entwicklerportal.