2013年9月26日木曜日

adb がない

AndroidをどうにかするのときにPCからだとadbコマンドでいろいろできて便利なのですが、
先日、訳あってAndroid2.3な端末をLinux(Ubuntu 10.04 x64)で使いたく、
Android SDKのLinux用(r20 x64)をインストールしました。
インストールと言っても圧縮ファイルを展開するだけのお手軽さです。
私の場合"/opt/android-sdk-linux"にインストールしてます。

Android端末をPCにUSBで接続してadbを使うには、あらかじめ以下のように実行しておく必要があります。
$ /opt/android-sdk-linux/tools/android update adb
$ echo 0x<USB IB> >> ~/.android/adb_usb.ini
$ su -
# echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="<ベンダーID>", MODE="0666"' > /etc/udev/rules.d/android.rules
# chmod a+r /etc/udev/rules.d/android.rules
# exit
ここでの<ベンダーID>は企業毎に割り当てられた番号で、Googleなら18d1(16進数)です。
任意の端末に対してならAndroid端末をPCに接続する前後の
$ lsusb
の実行結果の差分
Bus ??? Device ???: ID <ベンダーID>:<プロダクトID> <企業名等の情報>
から判断できます。
で、ここからが本題です。
Android SDK をインストールしたにもかかわらずadbコマンドがない…
というのは以前Windows版でも経験済みで、
"tools"ディレクトリに"adb_has_moved.txt"なんてファイルを置いてくれてるところが
なかなかにくいなどと思ってしまうのですが、
正解を言えば"platform-tools"ディレクトリの下にしっかりあります。

ところが、Linuxの場合"platform-tools"ディレクトリ自体がありません。
いや、Windowsで"platform-tools"ディレクトリがどの段階でできているのか定かでなく、
実はSDKをインストールしただけではやっぱりないのかもしれませんが、
私の使っているLinuxはVMware Player(Windows版)で動いている仮想環境で、
基本sshでログインして使っていたりするので
Eclipseとか絶対入れたくないですし。

で、解決方法です。
$ /opt/android-sdk-linux/tools/android update sdk -u
を実行するだけです。
もしプロキシサーバの設定が必要な環境なら
$ /opt/android-sdk-linux/tools/android update sdk -u --proxy-host <プロキシサーバのIPアドレス> --proxy-port <プロキシサーバのポート番号>
とでもすれば、"platform-tools"ディレクトリが作られ、
その下に"adb"コマンドが現れます。
もちろん普通に使えます。

0 件のコメント:

コメントを投稿