Zum Hauptinhalt springen

ADB Install APK: Befehl, Flags und Fehlerbehebung

Installiere eine APK mit adb install path/to/app.apk. Aktiviere USB-Debugging, verifiziere mit adb devices, nutze die Flags -r -d -g -t, Installation per Wi-Fi, Split-APKs, Start, Deinstallation und Behebung häufiger Fehlermeldungen.

ADB Install APK: Befehl, Flags und Troubleshooting im Capgo-Blog

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:

  1. Installieren SDK Platform-Tools und sicherstellen adb in deinem PATH enthalten ist.
  2. Auf dem Handy aktivieren Entwickleroptionen und USB-Debugging.
  3. USB verbinden, Handy entsperren, bestätigen USB-Debugging erlauben.
  4. Ausführen adb devices und prüfen, ob die Seriennummer angezeigt wird device, nicht unauthorized.
  5. 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 prüfen

Sie benötigen nicht den vollständigen Android Studio-Download für adb install. Du brauchst Plattform-Tools von Google.

  1. Platform-Tools für Ihr Betriebssystem herunterladen.
  2. Entpacke sie in einen festen Ordner.
  3. 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.

  1. Am Telefon: Einstellungen → Entwickleroptionen → Drahtloses Debugging → Gerät mit Pairing-code koppeln. Pairing-IP, Port und sechsstelligen code notieren.
  2. Am Computer koppeln:
adb pair IP:PAIRING_PORT

Pairing-code bei Aufforderung eingeben.

  1. Mit dem Debug-Port verbinden, der auf dem Drahtloses-Debugging-Bildschirm angezeigt wird:
adb connect IP:DEBUG_PORT
adb devices
  1. 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:

  1. USB neu anschließen und Sperrbildschirm aufheben.
  2. Tippen Erlauben auf USB-Debugging zulassen?
  3. Prüfen Von diesem Computer immer zulassen für deine Dev-Maschine.
  4. 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.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.