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 *