Aller au contenu principal

ADB Install APK : commande, flags et dépannage

Installez un APK avec adb install path/to/app.apk. Activez le débogage USB, vérifiez avec adb devices, utilisez les drapeaux -r -d -g -t, installez via Wi-Fi, gérez les APK split, lancez l'application, désinstallez-l’et corrigez les messages d'erreur courants.

Commande ADB Install APK, options et dépannage Capgo blog

Réponse rapide : Connectez un téléphone avec le débogage USB activé, puis confirmez avec adb devices, puis exécuter adb install path/to/app.apk. Pour mettre à jour une installation existante, utilisez adb install -r path/to/app.apk.

adb install path/to/app.apk
adb install -r path/to/app.apk

Étapes minimales :

  1. Installer Outils de la plateforme SDK et vérifiez que adb est dans votre PATH.
  2. Sur le téléphone, activez les options développeur et le débogage USB.
  3. Connect USB, unlock the phone, accept Autoriser le débogage USB.
  4. Exécutez adb devices et vérifiez que le numéro de série s’affiche device, et non unauthorized.
  5. Exécutez adb install path/to/app.apk.

Si vous déployez des builds Android depuis Capacitor ou Ionic, cette boucle est la méthode pour installer un APK récent sur un appareil physique sans attendre Play Console. Pour le déploiement sur le store après les tests, voir les déploiements progressifs Google Play.

Table des matières

Installer les Platform Tools et vérifier adb

Vous n’avez pas besoin du téléchargement complet d’Android Studio pour adb install. Il vous faut Outils de plateforme depuis Google.

  1. Téléchargez les Platform Tools pour votre OS.
  2. Décompressez-les dans un dossier fixe.
  3. Ajoutez ce dossier à votre PATH.

Vérifier :

adb version

Sur l’appareil, activez le débogage USB comme indiqué dans le guide des options développeur Android. Certaines interfaces OEM (MIUI de Xiaomi est un cas fréquent) exigent également Installer via USB ou similaire dans les paramètres développeur.

Utilisez un câble de données. Les câbles de charge uniquement produisent des adb devices listes et gaspille du temps.

Workflow de base pour adb install apk

Vérifiez toujours la connexion avant d’installer.

adb devices

Sortie saine attendue :

List of devices attached
XXXXXXXX    device

Installation :

adb install path/to/your-app.apk

Mettez entre guillemets les chemins contenant des espaces. Depuis le dossier APK :

adb install app-debug.apk

Une exécution réussie affiche généralement Installation en cours et Succès. En interne, adb install pousse le fichier vers /data/local/tmp, exécute pm install, et supprime le fichier temporaire. C’est plus simple que le adb push plus un shell pm install pour les tests quotidiens.

Pour la configuration de l’environnement Capacitor au-delà d’ADB, voir Configuration Android pour les apps Capacitor.

options adb install

Option Signification Quand l’utiliser
-r Remplace l’application existante, conserve les données si possible Recompilations en debug, même nom de package
-d Autoriser le downgrade uniquement sur les apps débogables Revenir à un build de debug plus ancien
-g Accorder toutes les permissions d'exécution à l'installation QA plus rapide quand les permissions bloquent le lancement
-t Autoriser les APK de test uniquement Builds testOnly internes depuis la CI

Combinaisons courantes :

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 est l'habitude par défaut pour le développement itératif. Sans cela, Android renvoie souvent INSTALL_FAILED_ALREADY_EXISTS lorsque le package est déjà présent.

-d autorise les downgrades uniquement lorsque le package installé est débogable. Il ne downgrade pas une release non débogable depuis Play. Sans -d, un versionCode déclenche INSTALL_FAILED_VERSION_DOWNGRADE.

-g ignore la boîte de dialogue d'autorisation à l'installation. Cela ne supprime pas le besoin de tester les flux d'autorisation lors d'une installation propre.

-t est requis lorsque le manifeste définit android:testOnly="true". Sans cela, vous obtenez INSTALL_FAILED_TEST_ONLY.

Les builds de release doivent être signés de manière cohérente. Si vous générez une nouvelle clé d’upload, générateur de keystore Android en ligne documente les empreintes et la sortie PKCS#12. Signer avec une clé différente de celle de l'application installée produit INSTALL_FAILED_UPDATE_INCOMPATIBLE.

Plusieurs appareils avec -s

Lorsque plus d'un appareil ou émulateur est connecté, adb install peut échouer avec plus d'un appareil/émulateur. Liste des numéros de série :

adb devices

Cibler un numéro de série avec -s:

adb -s SERIAL install -r app-debug.apk

Remplacer SERIAL avec la valeur de la première colonne de adb devices.

Installer un APK via le Wi-Fi

Android 11 et versions ultérieures (débogage sans fil) :

Placez le téléphone et l’ordinateur sur le même réseau Wi-Fi.

  1. Sur le téléphone : Paramètres → Options développeur → Débogage sans fil → Appairer l’appareil avec le code code. Notez l’IP, le port et le code à six chiffres code.
  2. Sur l’ordinateur, appairez :
adb pair IP:PAIRING_PORT

Saisissez le code d’appairage lorsqu’il est demandé.

  1. Connectez-vous au port de débogage affiché sur l’écran de débogage sans fil :
adb connect IP:DEBUG_PORT
adb devices
  1. Débranchez le câble USB si des appareils USB et Wi-Fi apparaissent dans adb devices, ou ciblez le Wi-Fi explicitement :
adb -s IP:DEBUG_PORT install -r app-debug.apk

Android plus anciens (USB d'abord) :

adb tcpip 5555
adb connect PHONE_IP:5555

Débranchez l'USB après adb devices affiche l'endpoint TCP. Le pare-feu et l'isolation réseau peuvent bloquer ADB Wi-Fi sur les LAN d'entreprise.

APK fractionnés avec install-multiple

Les App Bundles du Play Store se décompilent en un APK de base plus des splits de configuration (densité, ABI, langue) et parfois des modules de fonctionnalités au moment de l'installation. Installez l'APK de base et tous les splits correspondant à l'appareil cible en une seule commande :

adb install-multiple -r base.apk split_config.xxhdpi.apk split_config.arm64_v8a.apk

Ne passez que les splits de la même extraction de bundle qui correspondent à l'appareil connecté. Un split manquant ou incorrect provoque INSTALL_FAILED_INVALID_APK ou des installations incomplètes.

Pour installer en sideload depuis une .apks archive, bundletool install-apks --apks=app.apks est souvent plus simple que de lister les fichiers manuellement.

Cela est différent de les APK split par ABI lorsque Gradle compile des APK autonomes distincts pour chaque architecture (app-armeabi-v7a-debug.apk, app-arm64-v8a-debug.apk, etc.). Chacun de ces fichiers est une application complète. Choisissez celui qui correspond au processeur de l'appareil et exécutez adb install -r sur ce fichier unique. Ne passez pas tous les APK du dossier de sortie à install-multiple.

Lancer l'application après l'installation

Activité de lancement connue (depuis AndroidManifest.xml):

adb shell am start -n com.example.app/.MainActivity

Test de fumée rapide lorsque vous ne connaissez que le nom du package :

adb shell monkey -p com.example.app -c android.intent.category.LAUNCHER 1

monkey déclenche une seule intent de lancement. Ce n'est pas un test UI complet, mais cela confirme que l'application s'ouvre après l'installation.

Voir les logs :

adb logcat

Désinstaller avec adb

Supprimer par nom de package (et non par chemin APK) :

adb uninstall com.example.app

Cela supprime l’application et ses données. Utilisez-le pour les tests de premier lancement et avant de corriger un problème de signature.

To remove the app but leave user data on the device:

adb uninstall -k com.example.app

-k can make the next install reuse old preferences or databases, so skip it when you need a true clean install. Use adb install -r when you only need a faster update loop over an existing install.

Exemple Capacitor

Boucle Capacitor typique :

npx cap sync android

Compilez l’APK de debug, puis :

adb install -r android/app/build/outputs/apk/debug/app-debug.apk

Signez les APK de release avec votre clé d'upload avant l’upload sur Play. Avec Play App Signing, les téléchargements du store utilisent le certificat de signature de l’application, qui peut différer de votre certificat d’upload. Vous ne pouvez mettre à jour via ADB que si le certificat de l’APK correspond à celui de l’application installée et que les règles de mise à jour standard sont respectées. Comparez les certificats de signature avant de désinstaller. S’ils diffèrent, testez avec un APK issu d’une piste de test interne (signé comme le build Play) plutôt qu’avec un fichier signé localement. La désinstallation du build Play supprime les données de l’application.

Dépanner les erreurs d’installation

Erreur ou symptôme Cause probable Solution à essayer
unauthorized dans adb devices Prompt RSA non accepté Déverrouillez le téléphone, approuvez le débogage USB, adb kill-server puis adb start-server
no devices/emulators found Câble, pilote ou débogage désactivé Nouveau câble, activer le débogage USB, pilote USB Google Windows si nécessaire
INSTALL_FAILED_ALREADY_EXISTS Même package sans -r adb install -r app.apk ou adb uninstall d'abord
INSTALL_FAILED_UPDATE_INCOMPATIBLE Clé de signature différente Désinstaller l’ancienne app, ou installer un build signé avec la même clé
INSTALL_FAILED_VERSION_DOWNGRADE versionCode inférieur sur une app non débogable Désinstaller, augmenter la version, ou utiliser -d uniquement sur les packages débogables
INSTALL_FAILED_INSUFFICIENT_STORAGE Espace disque insuffisant Free space on device, remove unused apps
INSTALL_FAILED_TEST_ONLY APK testOnly adb install -t app.apk uniquement pour des builds de test de confiance
INSTALL_FAILED_INVALID_APK Ensemble de splits corrompu ou incorrect Recompiler l’APK, passer tous les splits à install-multiple
more than one device/emulator Plusieurs appareils connectés adb -s SERIAL install ...

appareil non autorisé

adb devices affiche :

XXXXXXXX    unauthorized

Corriger sur le téléphone, pas seulement dans le terminal :

  1. Rebrancher le câble USB et déverrouiller l’écran.
  2. Appuyez sur Autoriser sur « Autoriser le débogage USB ? »
  3. Vérifier « Toujours autoriser depuis cet ordinateur » pour votre machine de développement.
  4. Redémarrez ADB :
adb kill-server
adb start-server
adb devices

aucun appareil/émulateur trouvé

  • Vérifiez que le débogage USB est activé (voir options développeur).
  • Essayez un autre port USB et un autre câble.
  • Sous Windows, installez le pilote USB Google depuis SDK Manager si le pilote OEM est manquant.
  • Pour les émulateurs, démarrez l’AVD avant adb install.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

L’application installée a été signée avec un certificat différent de celui de l’APK que vous envoyez. Fréquent lors du mélange de debug et de release, lorsque Play App Signing utilise une clé différente de celle de votre APK d’upload, ou après une rotation de clé.

Vérifiez d'abord que le build installé est signé avec le même certificat que l'application sur l'appareil. Utilisez un APK de piste de test Play si vous devez correspondre à une installation de production.

If you must replace the install, uninstall deletes app data. Back up anything you need, then:

adb uninstall com.example.app
adb install app.apk

INSTALL_FAILED_VERSION_DOWNGRADE

L'APK versionCode est inférieur à la version installée.

Uniquement pour les packages débogables, test de rollback intentionnel :

adb install -r -d older.apk

Pour les builds de release depuis Play, désinstallez d'abord ou augmentez versionCode au lieu d'utiliser -d.

INSTALL_FAILED_INSUFFICIENT_STORAGE

L’appareil ne peut pas allouer d’espace pour le package. Supprimez des apps ou des médias, puis réessayez. Les APK très volumineux sur des téléphones de test à faible stockage déclenchent souvent cette erreur.

INSTALL_FAILED_TEST_ONLY

Le build est marqué test-only. Pour vos propres artefacts CI :

adb install -t -r app.apk

Ne pas utiliser -t pour installer des APK non fiables.


Pour les équipes Capacitor qui corrigent le JavaScript, les styles et la config sans attendre la revue du store, Capgo gère les live updates signées, les canaux et les rollbacks, en parallèle des releases natives sur les stores.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.