можно ли установить APK файл, если несколько эмуляторов/устройств [дубликат]
этот вопрос уже есть ответ здесь:
Я знаю, как установить файл APK на эмулятор с помощью командной строки и все такое. Но я хочу знать, можно ли установить тот же apk файл в несколько эмулятор, давая любое конкретное имя ? На самом деле мне нужно проверить один файл apk на многих устройствах. и для этого я запустил много устройств. Я знаю, как его установить. если все устройства открыты, то он не получит установить. Итак, есть ли альтернатива для установки этого файла apk, указав какой-либо конкретный идентификатор эмулятора устройства или любое имя ??? Пожалуйста, помогите мне, если есть какие-либо идеи для этого. . . Спасибо.
6 ответов:
Да, вы можете установить apk на определенном устройстве.
в команду, типа:
adb devices // list of devices and its unique ID...
потом типа:
adb -s "<deviceIDfromlist>" install "<path-to-apk>"
Шаг 1: получить идентификаторы устройств все устройства, подключенные к устройству
устройства adb
Шаг 2: Установите на определенное устройство ypu хотите установить
adb-s deviceId установить путь + apk
пример:
Шаг 1:
C:\Android\android-sdks\platform-tools > устройства adb Список подключенных устройств эмулятор-5554 устройства 014FD87107021017 устройство
шаг 2:
C:\Android\android-sdks\platform-tools>adb-s 014FD87107021017 установить C:\Users\ пользователь\документы\имя приложения.apk
можно выполнить команду install одновременно на всех подключенных устройствах.
ключ к запуску
adb
в отдельном процессе (&).Я придумал следующий скрипт, чтобы одновременно запустить установку на всех подключенных устройствах шахты и, наконец, запустить установленное приложение на каждом из них:
#!/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"
Примечание 1: STDOUT и STDERR подавляются. Вы не увидите никаких "adb install" результат операции. Это может быть улучшено, я думаю, если вы действительно должны
примечание 2: вы также можете улучшить сценарий, предоставив args вместо жестко закодированных имен путей и действий.
этак вы:
- не нужно вручную выполнять установку на каждом устройстве
- не нужно ждать завершения одной установки, чтобы выполнить другую (задачи adb запускаются параллельно)
используйте следующие сценарии для установки apk на нескольких устройствах / эмуляторах.
for SERIAL in $(adb devices | grep -v List | cut -f 1); do adb -s $SERIAL install -r /path/to/product.apk; done
удалить-r, если вы не переустановите apk. Также вы можете заменить " install-r /path/to/product.apk " для других команд adb, таких как работа на одном устройстве.
Он работает для меня на реальных устройствах, но я считаю, что он также должен работать для эмуляторов.
да вы можете установить свой файл apk в нескольких эмуляторах, для этого вы должны дать имя в командной строке вот ссылка для руководства
http://developer.android.com/guide/developing/tools/emulator.html