Linuxでiアプリを作ってみる

 browncat.org
  Top 
     Palm Gadgetry 
     自宅サーバを立ち上げよう! 
     >Linuxのページ 
     blog@browncat.org 
     wiki@browncat.org 
 Linuxのページ
     Top/日記 
 Penguin Memos
       VAIO-U1インストール&設定メモ 
       Fivaインストール&設定メモ 
       MX3S(i815e)インストール&設定メモ 
       カスタムインストールセット作成メモ 
>      Linuxでiアプリを作ってみる 
       シグマリオンでLinux-vrを使ってみる 
         rpmなクロスコンパイル環境の構築 
         Redhat7.1のインストール 
         linux-vr向け再構築版Redhat7.1 
         ps2向けVineSeedを試してみる 
         ちょこっとしたTipみたいなこと 
 Palm関連
     CLIE NR70とLinux 
 逆Links
    
 Social Bookmarks
 Contact
  このサイトの作者にMail! 
 Search

 Link
    
  
改定履歴
2001/8/7 IDEの項
2001/7/30 リンク追加
2001/7/28 公開

発売からわずかな期間で劇的に普及したNTT Docomoの携帯電話向け Javaアプリケーション、iアプリ。 とりあえずLinuxでコンパイル/テスト出来る環境が出来たので 簡単にメモります。

● はじめに

承前、iアプリはNTT Docomoの携帯電話で使用できるJavaアプリケーションです。 開発者向け情報はWindows向けのものがほとんどですが、結構たくさんあります。 しかしながらLinuxやFreeBSDでJavaな人には当たり前で簡単なことなのか、 Linux/FreeBSD向けの情報が意外と見つかりませんでした。 基本的にWindows環境の方法と同じようにすれば、 Linuxのみでの開発環境が構築できます。

ほとんど必須であるソフトのNTT Docomoの開発ツール(J2ME for Doja)、 サードパーティ製のエミュレータ/ライブラリi-Jadeなどは、せっかくJavaで書かれているのに、 インストールにWindowsが必要だったりするのが残念なところです。 ただ、インストール後のパッケージをLinux側に持ってくれば使えました。 メーカ提供のものの方が互換性が高いので、ちょっと主旨とはずれますが こちらもご紹介します。 それにしても、せっかくのJava環境なので、もっと、なんとかして欲しいものですね。

● iアプリ開発環境の概要

ドキュメントなどを当たれば詳しく書いてありますので、 とりあえず、簡単に概要など。

iアプリではNTT Docomo仕様のJava2 Micro Edition CLDCを使用します。 基本部分はCLDCで、上位にDocomoの規定するクラスライブラリと 各メーカ独自の拡張部分という構成です。
従って開発には少なくともJava, CLDC, Docomoライブラリの3つが必要です。 また、通常のJavaアプリと異なる点として、 バイトコードの検証を事前に行う必要があるため そのためのツールが必要です。これはCLDCに含まれています。
他に、各アプリケーション毎にJamというアプリケーション情報が必要です。 エディタで作成しても簡単ですが、NTTのツールや後述のiShurikenなどには、このJamファイルの生成機能があります。

1. ダウンロード可能なアプリのコンパイル

  1. JDKの環境を整える
  2. J2ME CLDCをインストール
  3. i-Jade、J2ME for Dojaなどのクラスライブラリ/エミュレータを準備する
  4. 1,2を使ってJava Sourceをjavacでコンパイル
  5. CLDCに含まれる事前検証ツールpreverifyを使って出来たclassファイルを検証する
  6. イメージやclasssファイルをjarでパック
  7. jarのファイルサイズをADF(JAM)ファイルに追加する

2. webサーバにアップロードする

  1. JarファイルとJamファイルを1に従って準備
  2. htmlファイルにjamファイルの情報を入れる
  3. webサーバにアップロード

● JDK環境とJ2ME CLDC、Doja向けクラスライブラリ

まずはJava環境が必要です。SunからJDKとJ2ME CLDCをダウンロードします。 基本的にJDK 1.3ベースです。1.3.1でも動作に問題はありませんでした。

JDKはダウンロードしたパッケージを実行すると rpmが出来るのでインストールがとても楽です。

CLDCは/usr/local/javaなどに展開してコンパイルする必要があります。 パッケージを展開しj2me_cldc/build/linuxの中に入ってmakeします。 javacが使えることが必要です。 コンパイルが終わるとpreverifyとクラスライブラリが出来ます。

● iモード対応DoJa(互換)ライブラリ/エミュレータなど

次にNTT DocomoのJavaクラスDojaか、その互換のクラスライブラリ/エミュレータを 用意します。 特にNTT Docomoのページは仕様書などのドキュメント類があるので、 チェック必須です。

Linuxのみで用意できるものと、いったんWindowsにインストールした後、 利用可能な部分のみを利用するものがあります。

パッケージ 互換性 Windowsの必要性 備考
本家NTT Docomo iモードjava 必要 java仕様書など必須
i-JADE 必要 要登録
open i-503 project 不要 オープンソース
iEmulator 不要 オープンソース

● ツール/IDEなど

未検証のものも含め、Linuxに対応したフリーのJava開発環境など...

* Sunの統合環境 Forte Windowsバージョンでは自動アップデートがおかしい... Linux版は問題なしです。
* Borland JBuilder5 なぜか':'など入力できない文字がある...
* iShuriken iアプリ対応pure javaのIDE。i-JADEが必要です。
* J Builder JBuilder4 Foundationがフリーで使えます
* i-generator CHTMLからJavaソースの生成ツール

などなど...

● 参考リンク

環境構築やプログラミングに参考にさせていただいたサイト

イチから始める、iモードJavaプログラミング
とっつきにわかりやすく、勉強になりました
@IT(atmarkit)のMobile Connection
環境作成時にWindows+コマンドラインでの解説を大変参考にさせていただきました。
iShuriken
いろいろなツールも含めて説明が豊富です。
iappli-fan
ここのツールはScripting Hostを使っているのでWin専用ですが情報が多数

などなど多数

● 感想など

まだまだありますが...それにしても、さすが圧倒的ユーザ数を誇るi-mode、 登場からわずかな期間でコンテンツもデベロッパ向け情報も結構充実しています。 ただ、機種間での互換性やバグの問題も結構あるようですね。 なにせ私のN503iではnttdocomoのサンプルが動作しません(^^;;



ご意見ご要望などは yamap@browncat.org まで
このページは以下のソフトウェアを使用して作成しました:
Kondara/MNU Linux,FreeBSD,XEmacs,Mule,jed,w3m,Netscape Communicator,MetaHTML,apache,jweblint,efstat,Namazu...
Thank you for visiting this page