土曜日, 9月 23, 2006

Nokiaの携帯向けアプリ開発

NokiaのSeries60向けのアプリの開発に挑戦しようと思い立ち、備忘録も兼ねて手順を書いておこうと思う。

まずは開発ツールの入手から。
開発ツールは無償でhttp://www.forum.nokia.com/からダウンロードできる。SDKとコンパイラなどのツールが入ったCarbideの二つが必要である。CarbideにはEclipseベースのものと、CodeWarrior対応のもの、VisualStudio.NET2003対応のものがある。

ターゲットの端末がVodafone 702NKII(Nokia6680)なので、S60用のSDKの「3rd Edition, Japanese」を選択してダウンロード。CarbideはEclipseとVisualStudio用の両方を落として使いやすい方を使おうと思う。(追記※正しくは「2nd Edition FP2」が必要です)

ダウンロードしたらまずはSDKのインストール。携帯電話用のSDKなのだが、225MBもある。SDKをインストールしていると、途中でgccベースのクロスコンパイラだと思われるCSL Arm Toolchain(arm-symbianelf)というのがインストールされる。インストールが終わると再起動を要求される。

次にCarbideのVisualStudio版(Carbide.vs 2.0.1)をインストールしようとしたら、ActivePerlが必要と怒られたのでダウンロードしてインストールしてからようやくCarbideをインストールできた。早速使ってみようとVisualStudioを起動したら、「Carbide.vsは14日間だけ登録無しで使えますが、登録しますか?」的なことを聞かれる。むむむ、有償なのか…? (2006/09/24 追記: 単に登録だけの模様)

サンプルを実行したいと思いSDKのフォルダを見てみると、サンプルはあるがVisualStudio用のプロジェクトが用意されていない。仕方が無いのでプロジェクトを作成すると、VisualStudio C++プロジェクトの下にSymbianというエントリがあるのでそれを選択。いくつかプロジェクトの種類があるが、絵を出すアプリを作成したいので「Viewプロジェクト」なるものを選択した。ちなみにプロジェクトを作成する際のフォルダに空白が含まれていると、作成できない。(gccを使う上での制約か?)
プロジェクトぐらいはすんなりと作れるかと思ったが、いきなり「SDKが選択されていない」といった警告が表示されて作成ができない。「Enable/Disable SDKs」というボタンから出来そうなのだが、Device IDやSDK rootには値が入っているのだが、SDKのところが「」となっている。特に変更をするようなボタンも見当たらないため、どうして良いのかがわからない。

S60 Platform SDKのページを見直してみると、「3rd Edition, Japanese」がCarbide.vsのサポートリストに入っていなかった。単に記述が更新されていないだけとも思えるが、念のためにサポートリストに入っている「2nd Edition, FP2 Japanese WINS」をダウンロードして試してみることにした。

SDKとCarbide.vsを一度アンインストールし、新たにダウンロードした2nd EditionのSDKをインストールし、さらにCarbide.vsをその後にインストールしてみた。

そしてもう一度先ほどのようにプロジェクトを作成してみると、ビンゴ!、今度はSDKの選択のところにちゃんと2nd EditionのSDKが選択できるようになっていた。やはり3rd Editionはまだサポートされていないようである。そもそも3rd EditionだとSymbianフォルダの下に9.1しか無かったので、S60用のアプリは開発できなかったのかも知れない。2nd Editionでは8.0aがある。

Simple Hello Worldプロジェクトを選択し、WINS(エミュレータ)用にビルドしてから実行。ストレート型の端末を模したエミュレータのウィンドウが開くので、カーソルキーで下に行くとビルドしたアプリがあるので選択してOKを押すと無事実行できていることが確認できた。

とりあえず今日のところはここまで。

(2006/09/24 追記: Carbide.Expressは日本語版のSDKに対応していないようなので、当面はVisualStudioにて開発することにした)


0 件のコメント:

PCを新調

昔働いていた頃は16Coreのマシンを家で使える日が来るとは想像も出来なかったな。当時は128Mバイトのメモリボードを1000万円くらいで売ってた気がするが今や128GBが5万円ちょっと。容量1000倍で価格は200分の1とは隔世の感があるな。