[android] 여러 장치가 연결된 경우 ADB 셸을 사용하는 방법은 무엇입니까? “오류 : 둘 이상의 장치 및 에뮬레이터”와 함께 실패

$ adb --help

-s SERIAL  use device with given serial (overrides $ANDROID_SERIAL)

$ adb devices
List of devices attached
emulator-5554 device
7f1c864e  device

$ adb shell -s 7f1c864e
error: more than one device and emulator

?



답변

다음 -s명령을 사용하여 장치를 지정하십시오 (예 :

adb -s 7f1c864e shell

http://developer.android.com/tools/help/adb.html#directingcommands참조하십시오.


답변

adb -d shell(또는 adb -e shell).

이 명령은 전체 ID를 입력하기에 너무 게으른 경우 대부분의 경우에 도움이됩니다.

에서 http://developer.android.com/tools/help/adb.html#commandsummary :

-d-adb 명령을 연결된 USB 장치 에만 연결하십시오 . 둘 이상의 USB 장치가 연결된 경우 오류를 반환합니다.

-e-adb 명령을 실행중인 유일한 에뮬레이터로 보내십시오 . 둘 이상의 에뮬레이터가 실행 중일 때 오류를 반환합니다.


답변

다른 대안은 환경 변수 ANDROID_SERIAL을 관련 직렬로 설정하는 것입니다. 여기서는 Windows를 사용한다고 가정합니다.

set ANDROID_SERIAL="7f1c864e"
echo %ANDROID_SERIAL%
"7f1c864e"

그러면 adb.exe shell아무런 문제없이 사용할 수 있습니다 .


답변

2 개의 오프라인 전화가 표시되는 ‘둘 이상의 장치’오류가 표시된 후이 질문을 발견했습니다.

C:\Program Files (x86)\Android\android-sdk\android-tools>adb devices
List of devices attached
SH436WM01785    offline
SH436WM01785    offline
SH436WM01785    sideload

장치가 하나만 연결된 경우 다음 명령을 실행하여 오프라인 연결을 제거하십시오.

adb kill-server
adb devices


답변

요지 는 여러 장치가 연결된 경우 메뉴를 표시하기 위해 대부분의 작업을 수행합니다.

$ adb $(android-select-device) shell
1) 02783201431feeee device 3) emulator-5554
2) 3832380FA5F30000 device 4) emulator-5556
Select the device to use, <Q> to quit:

입력을 피하려면 여기에 설명 된대로 장치 선택이 포함 된 별칭을 만들면 됩니다 .


답변

사용자 @janot는 이미 위에서 언급했지만 최상의 솔루션을 필터링하는 데 시간이 걸렸습니다.

2 개의 광범위한 사용 사례가 있습니다.

1) 2 개의 하드웨어가 연결되어 있으며, 먼저 에뮬레이터이고 다른 하나는 장치입니다.
해결책 : adb -e shell....whatever-command에뮬레이터 및 adb -d shell....whatever-command장치.

2) USB / ADB-WiFi를 통해 n 개의 장치가 연결되어 있습니다 (모든 에뮬레이터 또는 전화 / 태블릿) :

해결책 : 1 단계 실행 adb devices이 방법은 현재 USB 또는 ADBoverWiFI를 통해 2
단계로 연결된 장치 목록을 제공 adb -s <device-id/IP-address> shell....whatever-command
합니다. 당신이 가진 많은 장치.


wifi ADB에 연결된 장치에서 앱 데이터를 지우는 :
adb -s 172.16.34.89:5555 shell pm clear com.package-id

내 USB 연결 장치에 연결된 앱 데이터를 지우려면 다음을 실행하십시오.
adb -s 5210d21be2a5643d shell pm clear com.package-id


답변

에뮬레이터 중 하나에 APK를 설치하려면

먼저 장치 목록을 얻으십시오.

-> adb devices
List of devices attached
25sdfsfb3801745eg        device
emulator-0954   device

그런 다음 -s플래그 를 사용하여 에뮬레이터에 APK를 설치하십시오 .

-> adb -s "25sdfsfb3801745eg" install "C:\Users\joel.joel\Downloads\release.apk"
Performing Streamed Install
Success

이것이 누군가를 돕기를 바랍니다!