답변:
사용해보십시오 sudo $(which fastboot)
예를 들어 sudo $(which fastboot) devices
또한 sudo $(which fastboot) oem unlock
https://stackoverflow.com/a/28127944/1621927 에서 더 나은 솔루션을 찾았습니다.
주석은 다음과 같습니다. 실행할 때마다
권한을 강요하는 대신 문제를 영구적으로 해결할 수 있습니다.sudo
fastboot
lsusb
장치 USB VendorID를 식별하는 데 사용udev
장치가 연결되어있을 때 적절한 권한을 설정 하도록 구성보너스로도 고정됩니다 adb
.
예를 들어, 제 경우에는 ( 'Megafon SP-A20i'의 경우) :
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
수정하자 :
먼저 장치를 식별해야합니다.
a) usb 버스 번호를 찾으십시오 (해킹 : 장치가 Intel 기반임을 알고 있습니다)
$ fastboot -l devices
no permissions fastboot usb:1-1.2
$ lsusb |grep 001 |grep -i intel
Bus 001 Device 044: ID 8087:09ef Intel Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$
b) 다른 인텔 장치를 찾으십시오.
$ lsusb |grep 8087
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 044: ID 8087:09ef Intel Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$
허브는 명확하게 스마트 폰이 아니므로 필요한 USB 공급 업체 ID는 "8087"입니다.
둘째, 구성하십시오 udev
( "idVendor"값을 사용자 값으로 바꿔야합니다).
$ sudo sh -c "echo '# Megafon SP-A20i' >> /etc/udev/rules.d/51-android.rules"
$ sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", MODE=\"0666\", GROUP=\"plugdev\"' >> /etc/udev/rules.d/51-android.rules"
$ sudo service udev restart
udev stop/waiting
udev start/running, process 1821
$
셋째, udev
마법을 수행 할 수 있도록 장치를 다시 연결하십시오 .
최종 점검 :
$ fastboot -l devices
MedfieldA9055F28 fastboot usb:1-1.2
$ adb devices
List of devices attached
$ fastboot reboot
rebooting...
finished. total time: 0.253s
$ sleep 90
$ adb devices
List of devices attached
MedfieldA9055F28 device
$
짜잔!
sudo udevadm trigger
합니다.
sudo
은 해결책이 아닙니다.
elichai2와이 링크 및 목록 덕분에 빠른 부팅 권한 문제를 해결할 수있었습니다.
Google Nexus 6P를 보유하고 있으므로 공급 업체 ID에 다음을 사용했습니다.
구글-18d1
다음 명령을 사용하는 경우 :
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."
정확하게 복사하십시오. 나는 이미 뿌리를 내렸고 에코 부분 만 복사하려고 시도했는데 결과가 나에게 좋지 않았다. 기본적으로 슬래시를 이스케이프 문자로 해석하지 않고 .rules 파일에 \ "를 넣습니다.
.rules 파일을 루트로 작성 (공급 업체 ID 사용)하면 이미 다음을 사용하는 것이 좋습니다.
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules
udev 규칙을 다시로드 한 후 트리거 명령을 발행했습니다. 나는 또한 좋은 측정을 위해 USB를 뽑았다가 꽂았다.
udevadm control --reload
udevadm trigger
권한이없는 사용자로서 나는 다음을 실행했다.
fastboot devices
원하는대로 작동했습니다. 나는 이것이 권한 문제로 어려움을 겪는 사람에게 유용하거나 도움이되기를 바랍니다.
fastboot를 사용하여 일부 명령을 보내야 할 때 (예를 들어 htc 장치에서 펌웨어 깜박임) apt를 사용하여 fastboot를 설치합니다
sudo apt install android-tools-fastboot
그런 다음 사용을 시작하면 첫 번째 명령은
sudo -s
이 터미널의 모든 명령은 다음과 같은 루트 전송 명령으로 실행됩니다
fastboot devices
fastboot reboot-bootloader
fastboot oem rebootRUU
fastboot flash zip xxxx.zip
수정이나 무언가가 필요하지 않습니다. 시작하기 전에 하나의 추가 명령입니다.
또는 모든 udev 규칙을 추가 할 수 있습니다. Linux 용 전체 Android USB 공급 업체 ID 규칙 https://gist.github.com/jdamcd/6054951#file-51-android-rules
먼저 apt에서 fastboot를 설치하십시오.
sudo apt install android-tools-fastboot
다음 sudo를 사용하여 fastboot를 실행하십시오.
sudo fastboot
그것은 나를 위해 작동합니다.