2012-02-19 83 views
8

ubuntu linuxでadbのデバッグに問題が発生した可能性があります。ubuntuの下でadbでusb-android devicesを接続する方法

症状は、USB接続されたアンドロイドデバイスの可用性です。日食。 あなたは

error: insufficient permissions for device 

を取得すると、あなたはおそらく私のような同じ問題に遭遇

adb usb 

でこれをテストすることがあります。 しかし、私はインターネット上で多かれ少なかれ最適最適解を見つけました。

基本的な考え方は、adbをrootとして起動することです。私が見つけた解決策は面倒だった。

sudoごとにadbを開始することを提案します。もう1つの提案は、/etc/init.dにブートスクリプトを設定することでした。

私の解決方法は、adbにroot権限で起動する権限を与えることです。 ADBはすでにあなたがroot権限

adb kill-server 

すべてを開始するために悪魔を殺すために必要が実行されている場合は、そうするためには、

sudo bash 
chown root adb 
chmod ug+s-w adb 

セキュリティ狂信者が

sudo chown root adb 
sudo chmod ug+s-w adb 

を提案することができるrootに切り替え右に行った

adb usb 

お使いのデバイスがすでにGoogleはADBデバイスのアクセス権に対処する方法をお勧めします

+0

これをしないでください! adbプログラムの作成者は、開発マシン側をrootとして実行するつもりはなく、udevルールを使用して、リストされたデバイスタイプにのみアクセスできるようにしました。著者の推薦以上にプログラムを信頼することは悪い考えです!また、議題は既に何度もカバーされているが、実際には質問はされていないので、議決を閉じる。 –

答えて

11

は、デバイスに適切な権限を設定しますudevのルールを作成することで接続されているかどうかをチェック番目lsusbがを試してみてください、

restarting in USB mode 

ない場合は返す必要があります列挙。 http://developer.android.com/tools/device.html

あたりとして

あなたがUbuntu Linuxの上で開発している場合、あなたが開発に使用する デバイスの種類ごとにUSBの設定が含まれているudevルール ファイルを追加する必要があります。ルールファイルでは、各デバイスの メーカーは、 ATTR {idVendor}プロパティで指定されている一意のベンダーIDによって識別されます。ベンダーIDのリストについては、下記のUSBベンダーID を参照してください。 Ubuntu Linuxでデバイス検出を設定するにはrootとしてログインし、 というファイルを作成します:/etc/udev/rules.d/51-android.rulesファイルに各ベンダーを追加するには、この形式 を使用する:サブシステム== "USB"、 ATTR {idVendor} == "0bb4"、MODE = "0666"、GROUP = "plugdev"

この例では、ベンダーIDはHTC向けです。 MODE割り当て は読み取り/書き込み許可を指定し、GROUPはどのUnixグループ がデバイスノードを所有しているかを定義します。注:ルールの構文は、お使いの環境に応じて若干異なる場合があります( )。必要に応じて、 システムのudevドキュメントを参照してください。ルールの構文の概要については、 のudevルールの作成ガイドを参照してください。 chmod a + r /etc/udev/rules.d/51-android.rules SDKプラットフォームのツール/ディレクトリからadbデバイスを実行して、USB経由で接続すると、 デバイスが接続されていることを確認できます。接続されている場合は、 デバイス名が「デバイス」として表示されます。私にとって

2

使用、次の3つのコマンドその作品は

sudo bash 
adb kill-server 
adb usb 
+1

-1 adbをルートとして実行しないでください。 –

関連する問題