2011-08-25 15 views
50

So come installare il file apk nell'emulatore dal prompt dei comandi e tutto il resto. Ma voglio sapere se è possibile installare lo stesso file apk in un emulatore multiplo dando un nome specifico? In realtà devo testare un file apk su molti dispositivi. e per questo ho iniziato molti dispositivi. So come installarlo. se tutto il dispositivo è aperto, non verrà installato. Quindi c'è qualche alternativa per installare quel file apk dando uno specifico ID emulatore di dispositivo o un nome ??? Per favore aiutatemi se c'è qualche idea per questo. . . Grazie.è possibile installare il file apk se sono collegati più di un emulatore/dispositivo

risposta

154

Sì, è possibile installare un apk su un particolare dispositivo.

Nel comando, tipo:

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

Quindi digitare:

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

ID dispositivo significa che numero ?? che appare sul dispositivo come 5554 o 5556 ... come se fosse ??? –

+2

sì, il numero che si ottiene dopo l'esecuzione di dispositivi adb –

+0

Grazie. Capito. Ma è che "deviceIDfromlist" è quel numero di dispositivo elencato come 5554 o 5556 o simile? o qualcosa di diverso? –

7

passaggio 1: ottenere il dispositivo IDS tutti i dispositivi collegati al dispositivo

adb devices

step 2 : Installa su un dispositivo particolare che vuoi installare

-s adb install deviceid percorso + apk

Esempio:

passo 1:

C: \ Android \ android-SDK \ platform-tools> adb devices elenco delle periferiche collegate emulatore -5554 dispositivo 014FD87107021017 dispositivo

fase 2:

C: \ Android \ android-SDK \ platform-tools> adb -s 014 FD87107021017 installare C: \ Users \ utente \ Documents \ appname.apk

+0

grazie @Happy Vicky esatto voglio che questo –

+0

dovremmo usare un po 'di pipelining o script per fare tutti i comandi in modo sequenziale – Vinayak

+0

grazie- veramente utile – Simon

4

Utilizzare i seguenti script per installare apk su più dispositivi/emulatori.

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

Rimuovere -r se non si sta reinstallando l'apk. Inoltre puoi sostituire "installa -r /path/to/product.apk" in altri comandi adb come lavorare su un singolo dispositivo.

Funziona per me su dispositivi reali ma credo che dovrebbe funzionare anche per gli emulatori.

6

È possibile emettere il comando di installazione contemporaneamente su su tutti i dispositivi collegati.

La chiave è di avviare adb in un processo separato (&).

mi si avvicinò con il seguente script per l'installazione contemporaneamente il fuoco-off su tutti i dispositivi collegati di mine e infine lanciare applicazione installata su ognuno di essi:

#!/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" 

Nota 1: lo STDOUT e STDERR sono soppressi. Non vedrai alcun risultato dell'operazione "adb install". Questo può essere migliorato, credo, se si hanno veramente a

Nota 2: si potrebbe anche migliorare la sceneggiatura fornendo args al posto dei nomi di percorso e di attività hardcoded.

questo modo:

  1. Non è necessario eseguire manualmente l'installazione su ogni dispositivo
  2. non c'è bisogno di aspettare per una installazione a finire al fine di eseguire un altro (ADB compiti vengono lanciati in parallelo)
+0

apprezzo il vostro risposta. Ma hotveryspicy è giusto per quello che ho chiesto. Ho anche aggiornato la mia domanda in modo che altri non abbiano indizi sbagliati su quello che sto chiedendo. Davvero grazie per la risposta.+1 dal mio lato alla tua risposta perché aiuta anche in un altro modo. –

+0

Grazie per il feedback, ho corretto la risposta – Drew

+0

Nessuna risposta è giusta nel caso in cui qualcuno volesse installare il file apk in una volta ... –

0

È possibile installare su più dispositivi contemporaneamente utilizzando il debug USB.

In Eclipse Esegui -> Esegui configurazioni -> scegli il tuo progetto (a sinistra) -> Destinazione -> Avvia su Tutti i dispositivi compatibili.

Il progetto selezionato verrà installato su tutti i dispositivi collegati

Problemi correlati