stylesheet

2013-04-08

Debian 64bit版でadbを使用可能にする

64bit版Debian Linux上でadb使用環境を整える。
Android SDKインストールから実機のUSB接続までについて記載。

環境

  • Debian Wheezy x64
  • Android SDK r21.1 (adb v1.0.31)
  • S51SE

ハマりどころとしては、ADBコマンドが32bit環境を必要とするのでMultiarchを有効にすることか。

以下、導入手順。

1. Android SDKをインストール

Android Developers サイトから SDKをダウンロードして展開。toolsディレクトリにパスを通す。

$ wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz
$ tar xvzf android-sdk_r21.1-linux.tgz
$ export PATH=$PATH:~/android-sdk-linux/tools

2. multiarchを有効にして32bit環境を導入

adbの動作に32bit版のライブラリが必要。Multiarchを有効にして導入、adbの動作確認。

$ sudo apt-get --add-architecture i386
$ sudo apt-get install ia32-libs

$ adb version
Android Debug Bridge version 1.0.31

3. Android端末を繋いでベンダーIDを調べる

デバッグに使用する端末をUSB接続してベンダーIDを調べる。 S51SEの場合はベンダーIDは0fce、プロダクトIDは5167。

$ lsusb
...
Bus 002 Device 002: 0fce:5167 ID Sony Ericsson Mobile Communications AB

4. udevルールを作成

以下の内容で/etc/udev/rules.d/51-android.rulesを作成してudevを再起動。
{idVendor}はテスト端末のベンダーIDへ置き換える。範囲を狭めたければ{idProduct}も指定する。

$ sudo nano /etc/udev/rules.d/51-android.rules
$ sudo /etc/init.d/udev restart
# sony ericsson
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="*", MODE="0777"

5. 端末のUSBデバッグを有効にする

「設定」>「開発」>「USBデバッグ」をONに設定。 ICSの場合は、「設定」>「開発者向けオプション」>「USBデバッグ」。

6. adbから端末の接続を確認

adbから端末の接続を確認する。デバイスが正しく認識されていれば正常。

$ adb devices

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
BX902*****      device