장치에서 USB 디버깅 사용
이것은 설정›개발 에서 수행됩니다 . 설정 메뉴에 해당 항목이없는 경우 설정›정보 로 이동하여 "빌드 번호"로 스크롤하여 장치가 개발자가 된 것을 축하 할 때까지 원숭이처럼 망치십시오. 설정 메뉴 의 메인 페이지로 돌아가서 맨 아래에 "개발"(또는 "개발자") 설정이 표시됩니다. 여기에 입력하고 USB 디버깅을 활성화 하십시오.
장치 식별
먼저 USB 버스에서 장치를 식별하는 방법을 알아야합니다. 안드로이드 장치와이를 위해, NOT 연결, 쉘을 잡고 명령을 실행합니다 lsusb
. 그런 다음 장치를 연결하고 명령을 다시 실행하십시오. 새로운 줄을 찾으십시오. 를 들어 Wileyfox 스위프트 이것은 "이름없는 장치"입니다 :
Bus 004 Device 003: ID 2970:2282
ADB에 대한 규칙 설정
위 줄의 끝에 숫자가 필요합니다 : 2970:2282
. 공급 업체 (2970)와 장치 자체 (2282)를 지정합니다. 이러한 세부 사항을 가지고 있으므로 Linux 시스템에서 파일을 편집하거나 아직 존재하지 않는 경우 만들려면 루트 셸이 필요 /etc/udev/rules.d/51-android.rules
합니다. 거기에 장치 라인을 추가하십시오. 다음 예제 라인은 Wileyfox Swift를 찾는 방법을 보여줍니다 .¹
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
다른 장치가있는 경우 공급 업체 및 제품 ID를 실행시 위에서 찾은 것으로 바꿉니다 lsusb
. 줄에 대한 간단한 설명 :
SUBSYSTEMS=="usb"
: 분명히이 규칙은 USB에만 해당됩니다.)
ATTRS{idVendor}=="2970"
:이 규칙이 적용되는 장치의 공급 업체 ID
ATTRS{idProduct}=="2282"
: 장치 ID
MODE="0666"
: 장치 노드가 가져야하는 권한. 0666
시스템의 모든 사용자에게 읽기 및 쓰기 권한을 부여하는 것은 매우 느슨합니다. 따라서 걱정이되는 0660
경우이를 소유자 (그룹과 그룹에게만 읽기 / 쓰기 권한을 부여하고 모든 사람을 거부)로 바꾸어보십시오 .
GROUP="androiddev"
: 장치 노드가 속한 그룹. 이것은 사용자가 장치로 작업하려는 그룹이어야합니다.
SYMLINK+="android%n"
: 노드에 좋은 이름을 지정하기 때문에 더 쉽게 찾을 수 있습니다 /dev
(제 경우에는 나중에로 /dev/android5
표시됨)
에 입력 된 규칙 /etc/udev/rules.d/51-android.rules
은이 udev
를 사용하도록 지시 해야 합니다. 가장 안전한 방법 (재부팅; 옆)은 udev
서비스를 다시 시작하는 것 입니다. Linux 배포판에 따라이 작업은 service udev restart
또는/etc/init.d/udev restart
.
루트 쉘을 그대로 두십시오. Android 기기를 분리했다가 다시 연결 한 후 다시 시도 adb devices
하십시오. 현재 대부분의 장치가 나타 났지만 Wileyfox Swift 는 그렇지 않았습니다. 분명히 추가적인 포옹을 원합니다. 이러한 상황에 처한 경우 파일을 열고 (또는 존재하지 않는 경우 작성) 파일 ~/.android/adb_usb.ini
에 한 줄을 추가하여 lsusb
위에서 찾은 공급 업체를 지정하십시오 . 에 대한 스위프트 것 0x2970
(yupp, 당신은 여기하여 접두사 필요 0x
가 16 진수의 지적). 그런 다음 ADB 서버를 다시 시작하십시오 adb kill-server && adb start-server
.. 장치를 분리했다가 다시 연결하십시오. 이제 adb devices
보아야합니다.
장치 연결
당신은 같은 것을 adb devices
말한 것을 눈치 채 셨을 것 0123456789ABCDEF unauthorized
입니다. 괜찮습니다. (장치) 안전을 위해 : 먼저 컴퓨터에 장치에 액세스 할 수있는 권한이 있어야합니다. 따라서 adb shell
지금 바로 발행하십시오. error: device unauthorized. Please check the confirmation dialog on your device.
해당 조언을 따르십시오 (선택적으로 컴퓨터를 영구적으로 인증하려면 확인란을 선택하십시오). 이제 adb 를 사용하여 장치에 액세스 할 수 있습니다 .
업데이트 :
¹ 이후 Linux 버전에서는 UDEV 규칙의 구문이 약간 변경되었습니다 (예 : jcomeau_ictx 가 그의 의견에서 지적한 바와 같이) . 위에서 찾은 값은 다음과 같습니다.
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
두 가지 차이점 : 현재는 SUBSYSTEM
(복수는 아님) 그룹이에서 androiddev
로 변경되었습니다 plugdev
(이전 시스템은 최신 시스템에 존재하지 않으며 후자는 적어도 첫 번째 사용자에게 할당 됨).
또한 vendorID를 ~/.android/adb_usb.ini
16 진수 표기법으로 한 줄에 하나의 ID 로 추가해야 할 수도 있습니다 .
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970