Используйте -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 :