Ubuntu 13.10 64bit の ADT(adb) に Android デバイスを認識させる
1.ADT でエラー発生
Ubuntu 64bit に、ADT をインストールし、Android 実機を接続するも、全く認識しない。
以前インストールしたとき(32bit) では、????? と認識していた。
こんなエラー
Error executing aapt: Cannot run program "/home/piroto/opt/adt-bundle-linux-x86_64-20131030/sdk/build-tools/android-4.4/aapt": error=2, そのようなファイルやディレクトリはありません: error=2, そのようなファイルやディレクトリはありません UbuntuTest line 1 Android ADT Problem Description Resource Path Location Type Hint: On 64-bit systems, make sure the 32-bit libraries are installed: sudo apt-get install ia32-libs UbuntuTest line 1 Android ADT Problem
2.ia32-libs のインストール
sudo apt-get install ia32-libs
せよと、エラーメッセージが言っているので、してみる。
ia32-libs というのは、64bit 版で 32bit のプログラムを利用するときに導入するライブラリのようだ。
$ sudo apt-get install ia32-libs パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージ ia32-libs はデータベースには存在しますが、利用できません。 おそらく、そのパッケージが見つからないか、もう古くなっているか、 あるいは別のソースからのみしか利用できないという状況が考えられます しかし、以下のパッケージで置き換えられています: lib32z1 lib32ncurses5 lib32bz2-1.0
ぐぐって、以下の記事を発見。
Fix Android adb on Ubuntu 13.10 64bit
言われたとおりに、
$ sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 $ sudo apt-get install lib32 z1 $ sudo apt-get install android-tools-adb
adb サーバーを立ち上げ直す。
$ sudo adb kill-server $ sudo adb start-server
3.Androidデバイスの認識
OK認識した。
????? になっているが、これは、想定内。
http://developer.android.com/tools/device.html
接続したまま、ベンダーIDを調べる。
$ lsusb Bus 002 Device 005: ID 0bb4:0cf2 HTC (High Tech Computer Corp.)
以下のファイルを作成(2行目がファイルの内容0bb4がベンダーID)
$ sudo vi /etc/udev/rules.d/51-android.rules SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" $ sudo chmod a+r /etc/udev/rules.d/51-android.rules
正しく、認識されました。めでたしめでたし。
正しく認識されない場合、以下を試す
設定ファイルの再読み込み
$sudo udevadm control --reload-rules
ADBリスタート
$sudo adb kill-server
ADBにデバイスが認識されるか確認
$sudo adb devices
停止と起動を連続して実行する!
$ sudo adb kill-server
$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *