http://developer.android.com/guide/developing/device.html#setting-upのページに沿って、Linux環境での実機デバッグに挑戦します。デバッグターゲットはPocketWifi S(S31HW)です。
1.Android Manifestでアプリケーションをデバッグ可能に設定する
eclipseにてパッケージエクスプローラにて「AndroidManifest.xml」を選択し、真ん中の「Android Manifest Application」にて下の方の「「ア」アプリケーション」を選択します。
その中の「Debuggable」の項目を「true」にします。結果はAndroid Manifext.xmlに
android:label="@string/app_name" android:debuggable="true"
という記述が追加されているかで確認できます。
2.Androidの実機側でUSBデバッグを許可する
「設定」→「アプリケーション」→「提供元不明のアプリ」にチェックを入れる。
「設定」→「アプリケーション」→「開発」→「USBデバッグ」にチェックを入れる。
3.udevルールを作成する
(1)lsusbコマンドでUSBベンダIDを調べる
Androidデバイスを接続し、lsusbコマンドで接続されているデバイスを表示する。
$ lsusb
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
:
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 12d1:1038 Huawei Technologies Co., Ltd.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
青の行がHuaweiなので、この行がPocketWiFi Sです。そしてベンダIDは赤字の「12d1」であることがわかります。
(2)udevルールファイルを作成する
ルート権限で「/etc/udev/rules.d/51-android.rules
」を作成し、その中身を、
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
とする。作成したファイルは、アトリビュートを変更しておく。
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
(3)udevルールファイルを再読み込みさせる
udevadmでルールを再読み込みさせる。
$ sudo udevadm control --reload-rules
この後、一旦PCからAndroid機を取り外し、再度取り付けます。
4.実機でデバイスが認識されているか確認する
adbコマンドでデバイスが認識されているか確認してみます。
$ adb devices List of devices attached 5Cxxxxxxxxxx device
となって、2行目の方(5Cで始まる行)で認識されていることが確認できます。
5.Eclipse上で「実行」してみる
実行すると、PocketWiFiS上で動きました!