にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

Dev PhoneにUbuntuマシンから接続しようとしたら'error: insufficient permissions for device'などと怒られるときの対処法

Ubuntu 9.10のマシンにADP2を繋げてadbから操作しようとして少しハマっていたが、なんとかできるようになった。
手順としては、

  1. AndroidManifest.xmlファイルでandroid:debuggable="true"にする
  2. Dev Phone側でUSB debuggingを有効にする
  3. ホスト側(Ubuntu)のマシンで/etc/udev/rules.d/51-android.rulesを作成する
  4. adbをroot権限で実行する。

具体的には、1〜3はDeveloping on a Device | Android Developersに記載されているのでそちらを参考に。
私は4でしばらく躓いていた。
誤ってユーザ権限で実行すると、

$ adb devices
List of devices attached 
????????????    no permissions 

とか

$ adb shell
error: insufficient permissions for device

とか表示されたりするので、一度終了してから再度adbを起動する必要がある。

$ adb kill-server 
$ sudo adb start-server 
$ adb devices

これでシリアルナンバーらしきものが表示されたらOK。以後はsudoしなくてもadbを実行できる。
これまでエミュレータで作成していたサンプルプログラムを試しに実行してみたら、Eclipse上ではいくらかエラーが出力されるみたいだけど実機上でちゃんと動いていたのでとりあえずは気にしないことにする。