Yanıtlar:
Kullanmayı deneyin sudo $(which fastboot)
Örneğin sudo $(which fastboot) devices
Ayrıca sudo $(which fastboot) oem unlock
Burada daha iyi bir çözüm bulundu:
https://stackoverflow.com/a/28127944/1621927
Yorum: Çalıştırmanız gereken her zaman
izinleri zorlamak yerine , sorunu kalıcı olarak düzeltebilirsiniz:sudo
fastboot
lsusb
cihazınızı belirlemek için kullanın USB SatıcıKimliğiudev
cihazınız takıldığında doğru izinlerini ayarlamak içinBir bonus olarak - için de sabit olacaktır adb
.
Örneğin, benim durumumda ('Megafon SP-A20i' için):
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
Hadi düzeltelim:
İlk önce, cihazı tanımlamamız gerekir:
a) usb veri yolu numarasını arayın (kesmek: cihazın Intel tabanlı olduğunu biliyorum)
$ 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) diğer Intel cihazlarını arayın:
$ 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
$
Hub kesinlikle akıllı telefonlar değil, bu yüzden - ihtiyacımız olan USB satıcı kimliği "8087".
İkincisi, configure udev
("idVendor" değerini kendininkilerle değiştirmelisin):
$ 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
$
Üçüncüsü, udev
sihrini gerçekleştirmesi için cihazınızı yeniden takın .
Son kontrol:
$ 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
$
İşte bu kadar!
sudo udevadm trigger
de ihtiyacın olacak .
sudo
bir çözüm değildir.
Elichai2 ve bu bağlantı ve liste sayesinde fastboot izin sorunumu çözebildim.
Google Nexus 6P’ye sahibim, bu yüzden Satıcı Kimliği için aşağıdakileri kullandım:
Google - 18d1
Aşağıdaki komutu kullanırsanız:
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."
tam olarak kopyalayın. Ben zaten kökündüm ve bana istenmeyen sonuçlar veren yankı bölümünü kopyalamaya çalıştım. Temel olarak, eğik çizgiyi kaçış karakteri olarak yorumlamak yerine, "" .rules dosyasına koydu.
.Rules dosyasını oluştururken daha önce root kullanıyorsanız aşağıdakileri kullanmanızı öneririz (Satıcı kimliğinizi kullanın).
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules
Uudev kurallarını yeniden yükledim ve daha sonra trigger komutunu verdim. Ayrıca iyi önlem almak için USB'nin fişini çıkardım ve fişi taktım.
udevadm control --reload
udevadm trigger
Ayrıcalıklı bir kullanıcı olarak daha sonra koştum:
fastboot devices
ve istendiği gibi çalıştı. Umarım bu izin sorunu ile ilgili sorun yaşayan herkese yardımcı olabilir veya yardımcı olabilir.
fastboot kullanarak bazı komutlar göndermem gerektiğinde (örneğin htc cihazında firmware yanıp sönüyor) apt kullanarak fastboot yüklüyorum
sudo apt install android-tools-fastboot
o zaman kullanmaya başladığımda ilk komut
sudo -s
Daha sonra bu terminaldeki tüm komutlar, root gönderme komutları gibi çalışacaktır.
fastboot devices
fastboot reboot-bootloader
fastboot oem rebootRUU
fastboot flash zip xxxx.zip
düzeltmeye ya da bir şeye gerek yok, başlamadan önce basit bir ekstra komut
Veya tüm udev kurallarını ekleyebilirsiniz: Linux için Android USB satıcı kimliği kurallarının tam seti https://gist.github.com/jdamcd/6054951#file-51-android-rules
İlk önce apt'den fastboot'u kurun:
sudo apt install android-tools-fastboot
Ardından sudo ile fastboot komutunu çalıştırın:
sudo fastboot
Benim için çalışıyor.