Kurze Antwort: Verbinde ein Smartphone mit aktiviertem USB-Debugging und bestätige es mit adb devices, dann führe adb install path/to/app.apk. Um eine bestehende Installation zu aktualisieren, verwende adb install -r path/to/app.apk.
adb install path/to/app.apk
adb install -r path/to/app.apk
Minimale Schritte:
- Installieren SDK Platform-Tools und sicherstellen
adbin deinem PATH enthalten ist. - Auf dem Handy aktivieren Entwickleroptionen und USB-Debugging.
- USB verbinden, Handy entsperren, bestätigen USB-Debugging erlauben.
- Ausführen
adb devicesund prüfen, ob die Seriennummer angezeigt wirddevice, nichtunauthorized. - Ausführen
adb install path/to/app.apk.
Wenn du Android-Builds über Capacitor oder Ionic auslieferst, ist dieser Workflow der Weg, um eine frische APK auf Hardware zu bringen, ohne auf die Play Console zu warten. Für den Store-Rollout nach dem Testen siehe Google Play Staged Rollouts.
Inhaltsverzeichnis
- Platform Tools installieren und adb verifizieren
- Kern-Workflow für adb install apk
- adb install Flags
- Mehrere Geräte mit -s
- APK per Wi-Fi installieren
- Split-APKs mit install-multiple
- App nach der Installation starten
- Deinstallation mit adb
- Capacitor-Beispiel
- Installationsfehler beheben
Platform Tools installieren und adb prüfen
Sie benötigen nicht den vollständigen Android Studio-Download für adb install. Du brauchst Plattform-Tools von Google.
- Platform-Tools für Ihr Betriebssystem herunterladen.
- Entpacke sie in einen festen Ordner.
- Füge diesen Ordner zu deinem PATH hinzu.
Verifizierung:
adb version
Aktiviere auf dem Gerät die USB-Debugging-Funktion, wie im Android-Entwickleroptionen-Guidebeschrieben. Manche OEM-Skins (z. B. Xiaomi MIUI) erfordern zusätzlich Installation via USB oder ähnlich unter den Entwickleroptionen.
Verwende ein Datenkabel. Nur-Ladekabel liefern leere adb devices listen und Zeit verschwenden.
Kern-Workflow für adb install apk
Prüfe vor der Installation immer die Verbindung.
adb devices
Erwartete Ausgabe bei einem gesunden Status:
List of devices attached
XXXXXXXX device
Installation:
adb install path/to/your-app.apk
Pfade mit Leerzeichen in Anführungszeichen setzen. Aus dem APK-Verzeichnis:
adb install app-debug.apk
Ein erfolgreicher Lauf gibt typischerweise aus Streamed Install wird ausgeführt und Erfolg. Im Hintergrund adb install überträgt die Datei an /data/local/tmp, läuft pm install, und entfernt die temporäre Datei. Das ist einfacher als manuell adb push plus eine Shell pm install für den täglichen Test.
Für die Capacitor-Umgebungseinstellung neben ADB siehe Android-Setup für Capacitor Apps.
adb install Flags
| Flag | Bedeutung | Wann verwenden |
|---|---|---|
-r |
Bestehende App ersetzen, Daten wenn möglich beibehalten | Debug-Rebuilds, gleicher Paketname |
-d |
Downgrades nur bei debuggbaren Apps erlauben | Rückrollen eines Debug-Builds über einem neueren Debug-Build |
-g |
Alle Runtime-Berechtigungen bei der Installation erteilen | Schnellere QA, wenn Berechtigungen den Start blockieren |
-t |
Nur Test-APKs erlauben | Interne testOnly-Builds aus der CI |
Häufige Kombinationen:
adb install -r app-debug.apk
adb install -r -g app-debug.apk
adb install -r -d older-build.apk
adb install -r -t internal-test.apk
-r ist die Standardpraxis für iterative Entwicklung. Ohne sie gibt Android oft INSTALL_FAILED_ALREADY_EXISTS zurück, wenn das Paket bereits vorhanden ist.
-d erlaubt Downgrades nur, wenn das installierte Paket debuggbar ist. Es downgradet keine nicht-debuggbaren Releases aus dem Play Store. Ohne -d, ein niedriger versionCode aus INSTALL_FAILED_VERSION_DOWNGRADE.
-g überspringt den Berechtigungsdialog bei der Installation. Es entfernt jedoch nicht die Notwendigkeit, Berechtigungsabläufe bei einer sauberen Installation zu testen.
-t ist erforderlich, wenn das Manifest festlegt android:testOnly="true". Ohne es erhältst du INSTALL_FAILED_TEST_ONLY.
Release-Builds müssen konsistent signiert werden. Wenn du einen neuen Upload-Key generierst, ist der Android Keystore Generator dokumentiert Fingerabdrücke und PKCS#12-Ausgabe. Das Signieren mit einem anderen Key als der installierten App führt zu INSTALL_FAILED_UPDATE_INCOMPATIBLE.
Mehrere Geräte mit -s
Wenn mehr als ein Gerät oder Emulator angeschlossen ist, adb install kann fehlschlagen mit mehr als ein Gerät/Emulatorfehlen. Seriennummern auflisten:
adb devices
Eine Seriennummer gezielt auswählen mit -s:
adb -s SERIAL install -r app-debug.apk
Ersetze SERIAL mit dem Wert aus der ersten Spalte von adb devices.
APK per Wi-Fi installieren
Android 11 und neuer (Drahtlose Debugging):
Handy und Computer im selben Wi-Fi-Netzwerk verbinden.
- Am Telefon: Einstellungen → Entwickleroptionen → Drahtloses Debugging → Gerät mit Pairing-code koppeln. Pairing-IP, Port und sechsstelligen code notieren.
- Am Computer koppeln:
adb pair IP:PAIRING_PORT
Pairing-code bei Aufforderung eingeben.
- Mit dem Debug-Port verbinden, der auf dem Drahtloses-Debugging-Bildschirm angezeigt wird:
adb connect IP:DEBUG_PORT
adb devices
- USB-Kabel trennen, falls sowohl USB- als auch Wi-Fi-Geräte in
adb devices, oder Wi-Fi explizit als Ziel angeben:
adb -s IP:DEBUG_PORT install -r app-debug.apk
Ältere Android-Versionen (zuerst USB):
adb tcpip 5555
adb connect PHONE_IP:5555
USB nach dem adb devices abziehen, wenn der TCP-Endpunkt angezeigt wird. Firewall und Netzwerkisolierung können Wi-Fi ADB in Firmennetzwerken blockieren.
Split-APKs mit install-multiple
Play Store App Bundles werden zu einer Basis-APK plus Konfigurations-Splits (Dichte, ABI, Sprache) und manchmal Installzeit-Feature-Modulen entpackt. Installiere die Basis-APK und alle Splits, die zum Zielgerät passen, in einem Befehl:
adb install-multiple -r base.apk split_config.xxhdpi.apk split_config.arm64_v8a.apk
Übergib nur Splits aus derselben Bundle-Extraktion, die zum verbundenen Gerät passen. Ein fehlender oder falscher Split führt zu INSTALL_FAILED_INVALID_APK oder unvollständigen Installationen.
Zum Sideloaden aus einem .apks Archiv, bundletool install-apks --apks=app.apks ist oft einfacher als Dateien manuell aufzulisten.
Das unterscheidet sich von ABI-Split-APKs wenn Gradle separate, eigenständige APKs pro Architektur baut (app-armeabi-v7a-debug.apk, app-arm64-v8a-debug.apkusw.). Jede dieser Dateien ist eine vollständige App. Wähle diejenige, die zur CPU des Geräts passt, und führe adb install -r für diese einzelne Datei aus. Gib nicht jede APK im Ausgabeordner an install-multiple.
App nach der Installation starten
Bekannte Launcher-Aktivität (aus AndroidManifest.xml):
adb shell am start -n com.example.app/.MainActivity
Schneller Smoke-Test wenn du nur den Paketnamen kennst:
adb shell monkey -p com.example.app -c android.intent.category.LAUNCHER 1
monkey löst ein Launch-Intent aus. Es ist kein vollständiger UI-Test, bestätigt aber, dass die App nach der Installation startet.
Logs anzeigen:
adb logcat
Deinstallation mit adb
Entfernen nach Paketnamen (nicht APK-Pfad):
adb uninstall com.example.app
Dies entfernt die App und ihre Daten. Verwende es für Erststart-Tests und vor der Behebung einer Signaturunstimmigkeit.
Um die App zu entfernen, aber die Benutzerdaten auf dem Gerät zu belassen:
adb uninstall -k com.example.app
-k kann bei der nächsten Installation alte Einstellungen oder Datenbanken wiederverwenden. Wenn du eine saubere Neuinstallation brauchst, lass diesen Schritt aus. Verwende adb install -r wenn du nur einen schnelleren Update-Loop über eine bestehende Installation brauchst.
Capacitor-Beispiel
Typischer Capacitor-Loop:
npx cap sync android
Debug-APK bauen, dann:
adb install -r android/app/build/outputs/apk/debug/app-debug.apk
Release-APKs mit deinem Upload-Key vor dem Play-Upload. Bei Play App Signing nutzen Store-Downloads das App-Signing-Zertifikat von Google, das sich von deinem Upload-Zertifikat unterscheiden kann. Ein Update über ADB ist nur möglich, wenn das APK-Zertifikat mit der installierten App übereinstimmt und die normalen Update-Regeln erfüllt sind. Vergleiche die Signing-Zertifikate, bevor du die App deinstallierst. Wenn sie sich unterscheiden, teste mit einem APK aus einem internen Test-Track (signiert wie der Play-Build) statt mit einer lokal signierten Datei. Die Deinstallation des Play-Builds löscht die App-Daten.
Installationsfehler beheben
| Fehler oder Symptom | Wahrscheinliche Ursache | Lösungsvorschlag |
|---|---|---|
unauthorized in einem adb devices |
RSA-Prompt wird nicht akzeptiert | Handy entsperren, USB-Debugging genehmigen, adb kill-server dann adb start-server |
no devices/emulators found |
Kabel, Treiber oder Debugging deaktiviert | Neues Kabel, USB-Debugging aktivieren, ggf. Google-USB-Treiber für Windows |
INSTALL_FAILED_ALREADY_EXISTS |
Gleiche Package ohne -r |
adb install -r app.apk oder adb uninstall zuerst |
INSTALL_FAILED_UPDATE_INCOMPATIBLE |
Unterschiedlicher Signierungsschlüssel | Alte App deinstallieren oder Build mit gleichem Schlüssel installieren |
INSTALL_FAILED_VERSION_DOWNGRADE |
Niedrigerer versionCode bei nicht debugbarer App | Deinstallieren, Version erhöhen oder verwenden -d nur bei debugbaren Packages |
INSTALL_FAILED_INSUFFICIENT_STORAGE |
Wenig Speicherplatz | Freier Speicherplatz auf dem Gerät, ungenutzte Apps löschen |
INSTALL_FAILED_TEST_ONLY |
testOnly-APK | adb install -t app.apk nur für vertrauenswürdige Test-Builds |
INSTALL_FAILED_INVALID_APK |
Korrupte oder falsche Split-Sammlung | APK neu bauen, alle Splits an install-multiple |
more than one device/emulator |
Mehrere Ziele verbunden | adb -s SERIAL install ... |
Gerät nicht autorisiert
adb devices zeigt an:
XXXXXXXX unauthorized
Am Telefon beheben, nicht nur im Terminal:
- USB neu anschließen und Sperrbildschirm aufheben.
- Tippen Erlauben auf USB-Debugging zulassen?
- Prüfen Von diesem Computer immer zulassen für deine Dev-Maschine.
- ADB neu starten:
adb kill-server
adb start-server
adb devices
Keine Geräte/Emulatoren gefunden
- USB-Debugging aktivieren (siehe Entwickleroptionen).
- Anderen USB-Port und Kabel ausprobieren.
- Unter Windows den Google USB-Treiber über den SDK Manager installieren, falls der OEM-Treiber fehlt.
- Bei Emulatoren die AVD vor
adb install.
INSTALL_FAILED_UPDATE_INCOMPATIBLE
Die installierte App wurde mit einem anderen Zertifikat signiert als die APK, die du pushst. Tritt häufig auf, wenn Debug- und Release-Versionen gemischt werden, wenn Play App Signing einen anderen Key als deine Upload-APK verwendet oder nach einer Key-Rotation.
Stelle zunächst sicher, dass du einen Build installierst, der mit demselben Zertifikat signiert ist wie die App auf dem Gerät. Verwende eine APK aus einem Play-Test-Track, wenn du eine Produktionsinstallation abbilden musst.
Wenn du die Installation ersetzen musst, löscht die Deinstallation die App-Daten. Sichere alles Nötige, dann:
adb uninstall com.example.app
adb install app.apk
INSTALL_FAILED_VERSION_DOWNGRADE
Die APK versionCode ist niedriger als die installierte Version.
Nur für debuggable Pakete, gezieltes Rollback-Testing:
adb install -r -d older.apk
Bei Release-Builds aus Play zuerst deinstallieren oder erhöhen versionCode anstatt zu verwenden -d.
INSTALL_FAILED_INSUFFICIENT_STORAGE
Das Gerät kann keinen Speicherplatz für das Paket bereitstellen. Entferne Apps oder Medien und versuche es erneut. Sehr große APKs auf Testgeräten mit wenig Speicher stoßen häufig auf dieses Problem.
INSTALL_FAILED_TEST_ONLY
Der Build ist als nur für Tests markiert. Für eigene CI-Artefakte:
adb install -t -r app.apk
Nicht verwenden -t um nicht vertrauenswürdige APKs zu sideloaden.
Für Capacitor-Teams, die JavaScript, Styles und Konfiguration beheben, ohne auf das Store-Review zu warten, Capgo unterstützt signierte Live Updates, Channels und Rollbacks neben nativen Store-Releases.