error more than one device emulator

Используйте -s ПЕРЕД командой, чтобы указать устройство, например:

adb -d shell (или adb -e shell , если вы подключаетесь к эмулятору).

Эта команда поможет вам в большинстве случаев, если вам слишком ленив, чтобы ввести полный идентификатор.

-d — Направьте команду adb на только подключенное USB-устройство. Возвращает ошибку при подключении более одного USB-устройства.

-e — Направить команду adb на единственный запущенный эмулятор. Возвращает ошибку при запуске более одного эмулятора.

Другой альтернативой было бы установить переменную среды ANDROID_SERIAL для соответствующего серийного номера, при условии, что вы используете Windows:

Затем вы можете использовать adb.exe shell без каких-либо проблем.

Я нашел этот вопрос, увидев ошибку «более одного устройства», с двумя автономными телефонами, показывающими:

Если подключено только одно устройство, выполните следующие команды, чтобы избавиться от автономных подключений:

Этот gist будет выполнять большую часть работы за то, что вы показываете меню при подключении нескольких устройств:

Чтобы избежать ввода, вы можете просто создать псевдоним, включающий выбор устройства, как описано здесь.

Создайте bash (adb +)

сделано используйте его с помощью

Пользователь @janot уже упоминал об этом выше, но мне потребовалось некоторое время, чтобы отфильтровать лучшее решение.

Существует два варианта использования:

1) 2 устройства подключены, первый — эмулятор, другой — устройство.
Решение: adb -e shell. whatever-command для эмулятора и adb -d shell. whatever-command для устройства.

2) подключено n устройств (все эмуляторы или телефоны/планшеты) через USB/ADB-WiFi:

Решение: Шаг 1) запустите adb devices Это даст вам список подключенных устройств (через USB или ADBoverWiFI).
Шаг 2) Теперь запустите adb -s shell. whatever-command от того, сколько у вас устройств.

12 Answers 12

Use the -s option BEFORE the command to specify the device, for example:

adb -d shell (or adb -e shell if you’re connecting to an emulator).

This command will help you in most of the cases, if you are too lazy to type the full ID.

-d — Direct an adb command to the only attached USB device. Returns an error when more than one USB device is attached.

-e — Direct an adb command to the only running emulator. Returns an error when more than one emulator is running.

Another alternative would be to set environment variable ANDROID_SERIAL to the relevant serial, here assuming you are using Windows:

Then you can use adb.exe shell without any issues.

I found this question after seeing the ‘more than one device’ error, with 2 offline phones showing:

If you only have one device connected, run the following commands to get rid of the offline connections:

This gist will do most of the work for you showing a menu when there are multiple devices connected:

To avoid typing you can just create an alias that included the device selection as explained here.

User @janot has already mentioned this above, but this took me some time to filter the best solution.

There are two Broad use cases:

1) 2 hardware are connected, first is emulator and other is a Device.
Solution : adb -e shell. whatever-command for emulator and adb -d shell. whatever-command for device.

2) n number of devices are connected (all emulators or Phones/Tablets) via USB/ADB-WiFi:

Solution: Step1) run adb devices THis will give you list of devices currently connected (via USB or ADBoverWiFI)
Step2) now run adb -s shell. whatever-command no matter how many devices you have.

Не следует вводить:

adb -d shell

Эта команда поможет вам в большинстве случаев, если вам слишком ленив, чтобы ввести полный идентификатор

Целевое устройство
-d Направить только команду adb на только подключенное USB-устройство.
-e Направить команду adb на единственный исполняемый экземпляр эмулятора.

Оба возвращают ошибку, если запущено более одного экземпляра каждого типа.

Другой альтернативой было бы установить переменную среды ANDROID_SERIAL для соответствующего серийного номера, при условии, что вы используете Windows:

Тогда вы можете использовать adb.exe shell без каких-либо проблем.

Я нашел этот вопрос, увидев ошибку «более одного устройства», с двумя автономными телефонами, показывающими:

Если у вас только одно устройство подключено, выполните следующие команды, чтобы избавиться от автономных подключений:

Выполнение команд adb на всех подключенных устройствах

Создайте bash (adb +)

Сделать это с помощью

Этот принцип будет выполнять большую часть работы для вас, показывая меню при подключении нескольких устройств:

Чтобы избежать ввода, вы можете просто создать псевдоним, включающий выбор устройства, как описано здесь .

Создайте Bash (tools.sh), чтобы выбрать серию из устройств (или эмулятора):

Затем в другом варианте можно использовать adb -s (глобальный параметр -s использовать устройство с заданным серийным номером, который переопределяет $ ANDROID_SERIAL):

Я тестировал этот код на терминале MacOS, но я думаю, что он может использоваться в окнах через терминал Git Bash.

Также помните, как настроить параметры среды и пути Android SDK в файле .bash_profile :

Оцените статью