第5回 preverifyの環境作り

前回に取り上げたi-JADEに代表されるクラスライブラリが手に入るようになり,ようやくiアプリを作る環境が整った。今回は,さらに一歩先に進むためにJavaのCLDCに含まれるpreverifyをインストールして,iアプリ作成のための最終的な環境を整えることにしよう。

【国内記事】 2001年2月9日 更新

CLDCに含まれるpreverify

 本題に入る前に前回の補足を少し。ゼンテック・テクノロジーズ・ジャパンからダウンロードできるiアプリエミュレータ&クラスライブラリi-JADEには,今のところ「P503i」用と「F503i」用の2種類がある。筆者は当初,この2種類はエミュレータの見かけ(スキン)を変えただけのものと思い込んでいたのだが,少し調べてみると両機の振る舞いの違いを多少,エミュレートしてくれていることが分かった。

 F503i用は「i-jade-f.jar」,P503i用は「i-jade-p.jar」というファイル名になっているので,念のため2種類ともインストールして自分が作ったiアプリのテストに使用したほうがよさそうだ。本誌で既報のとおり(2月1日の記事参照),F503iとP503iには若干,振る舞いに違いがあるので,エミュレータで動きをチェックしてから公開したほうがいい。

 さて,以前にこの連載で述べたように(第2回参照),iアプリを公開するためには,その前の段階として,Sun Microsystemsが公開しているCLDCのSDKに含まれるpreverifyというツールを使ったクラスファイルの実行前検査が必要になる。ほとんどの場合(前回のMyFirstiAppのような簡単なものを除き),preverifyで実行前検査を行わないと503iでは「動作しない」のだ。

 しかし,preverifyを行うにはNTTドコモオリジナルのiアプリ互換ライブラリが必要で,それがないために今まではpreverifyしたくてもできないという状況だった。だが,i-JADEはドコモオリジナルの互換ライブラリとして利用できる。i-JADEを使ってpreverifyができるまでの環境をWindowsに構築することにしよう。

 以降の記事は各ツールをインストールしたディレクトリに依存するので注意してほしい。この記事では,前回までの記事に順じて,JDK1.3をC:\JDK1.3\以下に,i-JADEはC:\i-jade\以下にインストールしてあると仮定する。適宜,読者がインストールしたディレクトリに読み替えてほしい。

preverifyをインストールする

 Javasoftでデベロッパ登録(無料)を行うと,デベロッパ向けの早期アクセスサービスとしてCLDCのデベロッパキットを入手できる(デベロッパエリアのダウンロードサービスでCLDCを検索してみよう)。今のところ,CLDCに関連した2つのファイルが入手できるが,そのうち「j2me_cldc-1.0-src-winsol.zip」をダウンロードしよう。

 このファイルを適当なディレクトリに展開する。展開したディレクトリの下のbin\ディレクトリ以下に,Windows用のpreverify.exeが得られるので,このファイルを実行パスが通ったディレクトリにコピーする。どこでもいいのだが,本稿では連載第1回でパスを設定したC:\JDK1.3\BIN以下ということにしよう。

 次に,preverifyが実行前検証のために参照するクラスライブラリを用意する。ここで用意するクラスライブラリはJ2ME CLDC標準のライブラリ+iアプリオリジナルライブラリだ。

 まず,前者は先に展開したj2me_cldc-1.0-src-winsolの中のBIN\API\CLASSES以下にある。このCLASSESディレクトリを適当な場所にコピーしよう。本稿ではいちおう,C:\i-jade\以下にコピーし,C:\i-jade\CLASSES\以下にCLDCライブラリを収めることにする。

 次にiアプリオリジナルライブラリをセットアップしよう。まず,DOS窓を開き,C:\i-jade\CLASSESをカレントディレクトリにする。

>CD C:\i-jade\classes

 この状態で,1つ上のディレクトリにあるi-jade-p.jar,またはi-jade-f.jar(どちらでも構わない)を展開しよう。

>jar xvf ..\i-jade-p.jar

 以上の作業を終えたら,最後に環境変数CLASSPATHを設定しておく。Windows 98/Meではシステム設定ユーティリティを,Windows 2000の場合はシステムのプロパティにある[詳細]-[環境変数]を使い,新規にCLASSPATHを次のように設定する。

C:\i-jade\classes;.;

 最後の.(ピリオド)はカレントディレクトリを表すので,忘れずに設定しておいてほしい。

preverifyを使ってみよう

 では,preverifyが正常に機能するかどうか,MyFirstiApp(リスト)を使って確かめてみよう。MyFirstiApp.java(ソースファイル)を適当なディレクトリに用意する。そして,次のコマンドでコンパイルしよう。

>javac MyFirstiApp.java

 -classpathオプションは,環境変数CLASSPATHを設定したため不要だ。

 コンパイルに成功するとMyFirstiApp.classができあがる。このファイルをpreverifyで実行前検証しよう。 >preverify MyFirstiApp

 指定するのはクラス名なので,拡張子.classは必要ない。

 検証が終わると,カレントディレクトリにOUTPUTというサブディレクトリが作られ,その下に検証後のMyFirstiApp.classができあがる。単にコンパイルしただけのMyFirstiApp.classより,ほんの少しだけサイズが小さくなっているはずだ。この小さくなったMyFirstiApp.classを前回(第4回参照)に述べたjarコマンドでアーカイブして,Webで公開するわけだ。

 preverify実行時にクラスが見つからないといったエラーが出る場合,環境変数CLASSPATHが正しく設定されていないか,クラスファイル群を正しくコピーできていないので調べてほしい。

 さて,次回はMyFirstiAppを離れ,少し本格的なiアプリに挑んでみよう。テレビコマーシャルにも見られるように,iアプリといえばゲーム。というわけで簡単なゲームを題材に,iアプリの構造やJavaの基礎を学んでいくことにする。

関連記事
▼iアプリの互換性は大丈夫なのか?
▼携帯電話はPCと逆方向に進化する?
▼503iの「速さ」をベンチマークテスト──意外な速度差が
▼ドコモ,Java搭載iモード端末503i発表──1月26日発売
▼iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開
▼制限きついiモード用Java──ドコモ503iでできること,できないこと
▼Java搭載iモードではこんなことができる!──ドワンゴ「サムライ ロマネスク」
▼iモードのJava端末,当初はロースペックで登場

[米田 聡,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!