netbeansを使ったs60向けJavaアプリ開発環境の導入
netbeansでのs60向けMIDPアプリの開発は、PCSuite経由で接続さえされていれば
BT,USB,IRなどインターフェイス問わず実機デバッグできたりとすごく便利です。
世の中あいほんやあんどろいど一色なのでまったく需要が無さそうですが
メモっておかないと後で自分が困りそうなので書いておきます。
ちなみに今回は、自分が持っているN82を対象にするので
以下の記述はs60v3 FP1向けの記述になります。
FP2端末の場合などは、SDKのダウンロード辺りを適当に読み替えれば何とかなると思います
netbeansにs60SDKを認識させる
1.NetBenas 6.7をインストール
2.プラグインのカテゴリ「Java」から、Mobilityをインストール
(これでJ2ME開発ができるようになる)
3.Forum Nokiaから「s60v3 FP1 SDK for Java」をダウンロードしてインストール
(解凍した中にあるnetbeans_documentation_setupは無視していい)
4.このままだとエミュレータの分析ツールが起動できないので、
「C:\S60\devices\S60_3rd_MIDP_SDK_FP1\bin\epoc32\tools\ecmt\config\config.properties」の一行に1.6,6.0と追記
(JDK6でも動くように書き換え)
- epdt.java.version.start=1.4.1,1.4.2,1.5,5.0 + epdt.java.version.start=1.4.1,1.4.2,1.5,5.0,1.6,6.0
5.スタートメニューにあるs60 Developer Toolsの中にあるエミュレータがきちんと起動できることを確認する。
ここで、エミュレータのPreferencesを選択した際に「Cannot start ECMT Manager」と出る場合は、4がきちんと出来ているか確認する。
6.netbeansの新規プロジェクトからJ2ME->モバイルアプリケーション->SDK/プラットフォーム/エミュレータをインストールをクリック
7.プラットフォームを追加->Java ME MIDP プラットフォームエミュレータをクリック
8.エクスプローラで場所を指定することになるので、C:\S60などエミュレータをインストールした付近のディレクトリを選択すると、エミュレータが検出される。
9.新規プロジェクト作成後に、「プロジェクト構成の追加」から「インストールしたCLDCプラットフォームが提供する構成テンプレート」を選択
この中にS60Emulator,S60Deviceと二つ構成があるので両方とも追加する。
エミュレータ上で動かしたい場合はそのまま構成をS60Emulatorとする。
実機でのデバッグ環境構築
1.PCSuiteで「C:\S60\devices\S60_3rd_MIDP_SDK_FP1_3\s60tools\Ecmt\EcmtAgent_MIDP.SIS」を端末にインストールする
2.端末にインストールされたDebugAgentを起動しておく
3.「C:\S60\devices\S60_3rd_MIDP_SDK_FP1_3\bin\epoc32\tools\ecmt\ecmtgw.exe」にあるDevice Connectivity Toolを起動して
Commentの欄がEcmtAgentになっているものと選んでconnectする。
(PC Suiteで接続している端末であれば検知可能)
ここまで出来たら、ターゲットを「S60Device」にしてビルドすると、自動的に実機に転送されてデバッグが可能。
普通にブレークポイントを掛けたりすることもできる。
実機でデバッグ中のモニタリング
Device Connectivity Toolのメニューからdiagnosticsを選ぶと、接続中の端末の
CPU使用率/メモリー使用率/動作中のアプリケーション別のCPU使用率/各ドライブの残容量/ネットワーク使用率をリアルタイムに観察できる。
作成したアプリケーションのデプロイ
1.プロジェクトのプロパティから「配備」->配備メソッドを選択の欄を「PC Suite経由で接続されたNokia端末」に変更
2.netbeansメニューのツール->「Mobilityの配備」から、「PC Suite経由で接続されたNokia端末」を選ぶと、
現在PC Suiteで接続されている端末の一覧が出るので、デプロイしたい端末をここで選択。
設定を終えれば、プロジェクトを右クリックから「配備」を選ぶと、端末に.jarが送られるので
あとは端末側でいつも通りインストールするとワンクリックでデプロイできる。
トラブルシューティング
ConnectivityToolから接続までできているのにnetbeansのconnect Agentで止まる場合
間違ってFP2用のDebugAgentをインストールすると、うまくconnectできない。
diagnosticsのBT通信ログを見て変なエラーコードが端末から帰ってきてたらこれ
とりあえず今のところこれぐらい。また追記するかも