최근에 Android 휴대폰(첫 번째)을 구입했습니다. 이는 질문과 관련이 없을 수도 있지만 Android 4.4.2를 실행하는 Micromax Canvas Hue AQ5000입니다.
현재 Debian wheezy를 실행 중인 컴퓨터에서 전화에 액세스하고 싶습니다. 누군가 나에게 ADB를 추천했습니다. 설치 android-tools-adb
하고 활성화했어요개발자 옵션 및 USB 디버깅adb shell
, 예를 들어 다음을 통해 전화에 액세스할 수 있습니다.
그러나 ADB는 사용자로 실행할 수 없습니다. 여기에 해당 udev 파일인 /lib/udev/rules.d/70-android-tools-adb.rules
.
# Set ACLs for console users on adb USB devices
# d001 recovery
# d002 system
ACTION=="add|change", SUBSYSTEM=="usb", \
ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d001|d002", \
TAG+="uaccess"
사용자 액세스 권한을 부여하려면 이 파일을 어떻게 수정해야 합니까? 자연스러운 방법은 그룹에 대한 액세스를 제공하는 것 같습니다. 이러한 맥락에서 다음과 같은 제안이 있습니다."Android 디버그 브리지(adb) 장치 - 권한 없음"에 대한 답변이는 다음을 나타냅니다.
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
그럼 GROUP="plugdev"
위 파일에 추가해야 할까요, 아니면 더 좋은 방법이 있을까요? 또한 이 섹션은 무엇을 의미합니까 ATTRS{idVendor}=="18d1"
? 모든 기기에서 작동하나요? 또한 그것은 무엇을 ATTRS{idProduct}=="d001|d002"
의미합니까?
나는 Debian Bug Tracker에 좋은 제안을 전달하는 것을 고려할 것입니다.
답변1
내 젠투 시스템에는 다음과 같은 udev 규칙이 설정되어 있습니다( /lib64/udev/rules.d
나를 위해):
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="android"
이러한 규칙을 사용하면 그룹의 모든 사람이 USB Android 장치(22b8 = Motorola, 0bb4 = HTC, 04e8 = Samsung, 18d1 = Google)에 액세스할 수 있습니다 android
.
사용자가 해당 그룹의 구성원인 한 사용하기로 결정한 그룹의 이름은 중요하지 않습니다.
USB 식별자에 대한 다른 문제를 해결하기 위해 공급업체 및 제품 ID는 특정 장치를 식별합니다. 귀하는 귀하의 식별자를 사용 dmesg
하거나 볼 수 있습니다 lsusb
. 예를 들어, 전화기를 연결하면 dmesg
다음과 같이 보고됩니다.
[ 4573.116303] usb 4-5: New USB device found, idVendor=22b8, idProduct=2e63
그리고 lsusb
보고:
Bus 004 Device 005: ID 22b8:2e63 Motorola PCS
이는 내 휴대폰의 공급업체 ID가 22b8이고 제품 ID가 2e63임을 알려줍니다. udev 규칙:
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"
이 장치(및 제품 ID로 제한되지 않으므로 모든 Motorola 휴대폰)와 일치하고 이 휴대폰의 USB 장치에 대한 권한을 설정합니다.
crw-rw-r--+ 1 root android 189, 388 May 5 19:38 /dev/bus/usb/004/005
USB 버스와 장치 번호를 사용하여 USB 장치를 찾고 해당 권한을 확인할 수 있습니다. 이 장치 에 대한 읽기/쓰기가 가능하다면 전화기에 액세스해야 하는 프로그램 및 기타 프로그램을 lsusb
사용할 수 있습니다.Bus 004 Device 005
.../004/005
adb
참고: 장치 이름은 시스템에 따라 약간 다를 수 있습니다. 저는 udev 215와 Linux 커널 4.0.1을 실행하고 있습니다.