2011年8月26日金曜日

SmartQ 5 - アプリケーション開発とデバッグ

まずは私の環境

開発機 - Windows7 Ultimate
SDK - Android SDK 2.0 Release 1
SmartQ 5 Firmware - Covia 2009/12/1
関係無いですけど、開発そのものはJDK1.6.0_16、Eclipseの3.5とADT0.9.4でやってます。

無線LANでのDebug方法

実機の設定

設定ポイントは以下。関係無いと思える項目もチェックしてください。

Dev Tools → Development Settings → Wait for debuggerをチェック
設定 → アプリケーション → 開発 → USBデバッグをチェック
上記がadbで接続するのに必須で必要な点です。
更に無線LANでDebugをするなら以下の設定も変更しておいた方が良いと思います。

設定 → アプリケーション → 提供元不明のアプリをチェック
設定 → アプリケーション → 開発 → スリープモードにしないをチェック
設定 → Covia Settings → Usb Setting → OTG Client Mode
無線LANでのDebugですが、私の環境では上記の必須の設定二点を有効にしておかないと起動して無線LANが使えるようになった後でもconnectできません。
ただし、一度connectできるようになればReboot等をしなければ設定を変更してもconnectできます。良くわかりませんが、Networkに口を開けて待ってるプロセスが起動していない感じでしょうか???(adbdってやつかなー?)
実機の設定が完了できたら一旦SmartQ5を再起動します。

adbで接続

前提条件は、コマンドプロンプトからadbが実行できること、それと当たり前ですが無線LANが繋がること。
SmartQ5は今でこそ「わりと」繋がりますが、最初は全然繋がりませんでしたので、一応(^_^;)

コマンドプロンプトから以下の斜線部をコマンド入力します。adbにはPATHを通しておくのと、smartq_ipaddressは調べたIP Addressに置き換えてください。

SmartQ5のIP Addressを確認してping等で疎通を確認します。
念のためサーバをリスタート
adb kill-server
adb start-server
ip address指定で接続する
adb connect smartq5_ipaddress:5555
接続を確認する。
adb devices
List of devices attached
smartq5_ipaddress:5555 device
少なくとも再起動後にスリープモードに一度も入っていない状況であれば繋がると思いますが、adb connectで接続できない場合があり接続できなくなる条件や再接続に必要な条件については詳細までは調べてないです(そういう場合私は再起動しちゃってます、、、)。

この方法の問題は無線LANのアクセスポイントが無いと使えないこと、、、orz
私はドトールとかのCoffee屋で作業するのが好きなので、USBが本命です。以下。

USBを使ったDebug方法

ポイント

先に書いておきますが設定間違いが無いのに繋がらない場合のポイントは2点あります。

デバイスがデバイスマネージャ上から正常に「Android Phone」として認識されているか確認して、正常に認識していなければ一度USBケーブルを外して、Covia SettingsからADB Modeを指定しなおして(既に指定してあってもADB Modeを再度指定しなおして)から繋ぐと正常に認識するようになります。
ただし、この場合、Offlineで認識されることがほとんどですので更に次の手順。
デバイスが正常に認識されているのに、adb devicesの表示がofflineの場合には、実機側設定のUSBデバッグのチェックを一度外してから付け直す。
とりあえず、上記を頭にいれておけば、なんとかなるかと思います。場合によってはリブート。
あと上記でUSBデバッグにチェックをつけるタイミングではUSBが繋がっていないほうが良いです。多分。

実機の設定

実機の必須設定は以下。

Dev Tools → Development Settings → Wait for debuggerをチェック
設定 → アプリケーション → 開発 → USBデバッグをチェック
設定 → Covia Settings → Usb Setting → ADB Mode
以下はお好みで。ただ、「スリープモードにしない」は設定しておいた方が良いような気がします。

設定 → アプリケーション → 提供元不明のアプリをチェック
設定 → アプリケーション → 開発 → スリープモードにしないをチェック
USB DriverのInstall(Windowsのみ)

初めて接続するときだけUSBのデバイスドライバをInstallする必要があります。
USBのデバイスドライバについてはsdk付属デバイスドライバを使います。
ただし、そのままでは互換性のあるデバイスだとWindowsが認識してくれないので.infファイルを書き換えてデバイス番号を変更してやります。
.infの書き換え方法については適当にGoogleを検索すれば見つかりますので詳細は省きますが、私は32bitのWindows7を使っているので以下の行を[Google.NTx86]セクションに追加しています。

[Google.NTx86]
; Covia SmartQ5
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DDDD

念のためSmartQ5を再起動する
設定 → Covia Settings → Usb Setting → ADB Mode
既に設定されていたとしても一度選択しなおしてください。すでに設定されているADB Modeを再度クリックするだけでOKです。
一呼吸
USBを繋げてデバイスドライバをandroid sdkのusb_driverフォルダを指定してInstall
まぁ、わかる人なら普通にデバイスマネージャからドライバの更新でやってくださいな。
ただ、注意としてADBできちんと認識出来ていないとダメです。

adbで接続

Windowsではコマンドプロンプトを開いてadbの確認なんかを念のためしますけど、本質的にはあまり必要無いです。

USBが接続されていないことを確認する
設定 → Covia Settings → Usb Setting → ADB Mode
既に設定されていたとしても一度選択しなおしてください。すでに設定されているADB Modeを再度クリックするだけでOKです。
念のためサーバをリスタート
adb kill-server
adb start-server
設定 → アプリケーション → 開発 → USBデバッグのチェックを外す
一呼吸
設定 → アプリケーション → 開発 → USBデバッグをチェック
一呼吸
USBを接続する
祈る
接続を確認する
adb devices
List of devices attached
0123456789ABCDE device
最後に

SmartQ5 の場合タッチパネルが非常に良くないのでちょっと使いにくいところはありますけど、これで結構快適にデバッグできます。

やはり実機を使うとエミュレータでDebugするのとは雲泥の差ですね。
ってことで、この情報が 何かの お役に立てば幸いです。

0 件のコメント:

コメントを投稿