121 votes

Est-il possible d'installer un fichier APK si plusieurs émulateurs/appareils sont connectés ?

Je sais comment installer le fichier apk dans l'émulateur par l'invite de commande et tout ça. Mais je voudrais savoir s'il est possible d'installer le même fichier apk dans plusieurs émulateurs en donnant un nom spécifique ? En fait, je dois tester un fichier apk sur plusieurs appareils et pour cela j'ai démarré plusieurs appareils. Je sais comment l'installer. Si tous les appareils sont ouverts, il ne sera pas installé. Il y a donc une alternative pour installer ce fichier apk en donnant l'identifiant de l'émulateur de l'appareil ou un nom spécifique ? Je vous remercie de m'aider si vous avez une idée à ce sujet. . . Je vous remercie.

305voto

hotveryspicy Points 21181

Oui, vous pouvez installer une apk sur un appareil particulier.

En commande, tapez :

adb devices
// list of devices and its unique ID...

Puis tapez :

adb -s "<deviceIDfromlist>" install "<path-to-apk>"

21voto

Happy Vicky Points 761

Étape 1 : Obtenir les identifiants de tous les appareils connectés

adb devices

Étape 2 : Installation sur un appareil particulier que vous souhaitez installer

adb -s deviceId install path+apk

Exemple :

Étape 1 :

C:\Android\android-sdks\platform-tools>adb devices

Liste des périphériques attachés émulateur-5554 périphérique 014FD87107021017
dispositif

Étape 2 :

C:\Android\android-sdks\platform-tools>adb -s 014FD87107021017 install C:\Users\
user\Documents\appname.apk

9voto

mlchen850622 Points 180

Utilisez les scripts suivants pour installer l'apk sur plusieurs appareils/émulateurs.

    for SERIAL in $(adb devices | grep -v List | cut -f 1);
    do adb -s $SERIAL install -r /path/to/product.apk;
    done

Enlevez -r si vous ne réinstallez pas l'apk. Vous pouvez également remplacer "install -r /path/to/product.apk" par d'autres commandes adb, par exemple pour travailler sur un seul appareil.

Cela fonctionne pour moi sur des appareils réels, mais je pense que cela devrait également fonctionner pour les émulateurs.

7voto

Drew Points 2808

Il est possible de lancer la commande d'installation simultanément sur tous les appareils connectés.

L'essentiel est de lancer adb dans un processus séparé (&).

J'ai trouvé le script suivant pour lancer simultanément l'installation sur tous mes appareils connectés et finalement lancer l'application installée sur chacun d'entre eux :

#!/bin/sh

function install_job { 

    adb -s ${x[0]} install -r PATH_TO_YOUR_APK
    adb -s ${x[0]} shell am start -n "com.example.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

}

#iterate over devices IP-addresses or serial numbers and start a job 

while read LINE
do
    eval x=($LINE)
    install_job ${x[0]} > /dev/null 2>&1 &
done <<< "`adb devices |  cut -sf 1`"

echo "WATING FOR INSTALLATION PROCESSES TO COMPLETE"
wait

echo "DONE INSTALLING"

Note 1 : le STDOUT et le STDERR sont supprimés. Vous ne verrez pas le résultat de l'opération "adb install". Cela peut être amélioré, je suppose, si vous devez vraiment

Note 2 : vous pourriez également améliorer script en fournissant des args au lieu de noms de chemin et d'activité codés en dur.

De cette façon, vous :

  1. Pas besoin d'effectuer manuellement l'installation sur chaque appareil
  2. Pas besoin d'attendre la fin d'une installation pour en exécuter une autre (les tâches adb sont lancées en parallèle)

2voto

Pratik Points 15125

Oui vous pouvez installer votre fichier apk dans plusieurs émulateurs pour cela vous devez donner le nom dans l'invite de commande voici le lien pour vous guider

http://developer.Android.com/guide/developing/tools/emulator.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X