web-dev-qa-db-ja.com

権限がありませんfastboot-fastbootとadbが機能していません

ADBを使用してMoto電話のロックを解除しようとしていますが、fastboot devicesを実行すると

no permissions   fastboot

Sudo fastbootデバイスでも役に立たない

sudoでこれを取得するSudo: fastboot: command not found

助けて!!

28
Rupali

Sudo $(which fastboot)を使用してみてください

たとえば、Sudo $(which fastboot) devices

Sudo $(which fastboot) oem unlock

53
Srinivas Gowda

ここでより良い解決策を見つけました:
https://stackoverflow.com/a/28127944/1621927

コメントは次のとおりです。

Sudoを実行する必要があるたびにfastbootを介して許可を強制する代わりに、問題を永続的に修正できます。

  1. lsusbを使用して、デバイスのUSB VendorIDを識別します
  2. udevを設定して、デバイスが接続されたときに適切な権限を設定します
  3. 利益!

ボーナスとして-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)他のIntelデバイスを探します:

$ 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

$ 

出来上がり!

25
elichai2

私のソリューション

Elichai2とこれのおかげで リンクとリスト fastboot許可の問題を解決することができました。

Google Nexus 6Pを持っているので、ベンダーIDに次を使用しました。

Google-18d1


51-Android.rules

次のコマンドを使用する場合:

Sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."

正確にコピーします。私はすでにルートであり、望ましくない結果をもたらしたエコー部分のみをコピーしようとしました。基本的に、スラッシュをエスケープ文字として解釈するのではなく、\ "を.rulesファイルに入れます。

既にrootで.rulesファイルを作成している場合(ベンダーIDを使用)、以下を使用することをお勧めします。

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-Android.rules


Udevリロードとトリガー

Udevルールをリロードし、トリガーコマンドを発行しました。また、適切な方法でUSBのプラグを抜き差ししました。

udevadm control --reload
udevadm trigger


ファストブート

特権のないユーザーとして、次に実行しました:

fastboot devices

望みどおりに機能しました。これが、アクセス許可の問題で問題が発生した人に役立つか、役立つことを願っています。

5
Brandon Authier

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

修正などは必要ありません。開始する前に1つの追加コマンドを実行するだけです。

2
ahmed.ismael

まず、aptからfastbootをインストールします。

Sudo apt install Android-tools-fastboot

次に、Sudoでfastbootを実行します。

Sudo fastboot

わたしにはできる。

0
mrroot5

または、すべてのudevルールを追加できます。LinuxのAndroid USBベンダーIDルールのフルセット https://Gist.github.com/jdamcd/6054951#file-51-Android-rules

0