장치에서 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.ini16 진수 표기법으로 한 줄에 하나의 ID 로 추가해야 할 수도 있습니다 .
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970