仕事で AU 向けの JAVA (EZplus) プログラムを試作してみようと思った。
すでに EZplus の公開から1年近く。
開発に必要な環境を整えるだけでもままならないと判明。
まずは AU のページにいき、開発キットをダウンロード。
i-mode での開発経験はあるので、これは「JAVA を入れてあることが前提」なのは承知している。
Java 開発環境は JDK というのだが、i-mode では JDK 1.3 を使用した。
AU は 1.3.1 が推奨らしい。しかし、1.3 なら入れてあるし、そう変わらないだろうと判断。
JDK というのは「純粋な JAVA」の開発環境だ。
携帯電話に搭載されるものは KVM (Kirobyte Virtual Machine) と呼ばれる Java のサブセットで、その開発は JDK 以外のプログラムを導入することで行う。
特に携帯用に作られたものは MIDP と呼ばれ、その開発キットを Java 2 Micro Edition Wireless Tool Kit 、略して J2MEWTK という。略しても長い名前だ (^^;
この J2MEWTK 、AU で推奨するのは 1.03 らしい。しかし、Sun のページを見に行ったところ、1.04 しかなかった。
仕方なくこれを入れてみると、どうやらディレクトリ構成が違うらしい。
少なくとも、インストールしたディレクトリ名が、期待されているのは J2MEWTK だったのに、WTK104 となっていた。
一応一通りの環境は整ったので、開発テストをしてみる。
まずは開発ツールを起動して…起動して…
アイコンをクリックしても何も起きない。いきなりつまづく。
スタートメニューに入るアイコンは、例に漏れずショートカットだったので、実際のファイル位置を見てみる。
…単純な問題。インストーラー任せで入れたのだが、パラメータとして渡すディレクトリパスが間違っている。
直してやったら問題なく起動した。
AU のページからサンプルプログラムを持ってきて、コンパイル。
…コンパイル失敗。何が悪いのかわからず、しばし悩む。
本来 Java のコンパイラなどはコマンドラインで動く。
しかし、それでは Windows 上では使いにくいので、AU の開発ツールではコマンドライン部分を隠している。
問題がなければこれでいいのだが、ひとたび問題が出るとブラックボックスの中身がわからないため、対処法が見えない。
よくわからないので、「本来とは違う環境なのが問題なのでは?」と思い始め、JDK 1.3.1 を探しに行く。
すでにバージョンがあがっており、 1.3.1.4 というのしかない。
それを入れたところ、期待されるディレクトリ名 jdk1.3.1 ではなく、jdk1.3.1_04 ができてしまった。
しかし、やはりうまくいかない。
冷静になってよくエラーメッセージを見ると、その中に「jdk1.3\」という文字が見える。
パスがおかしい?
開発ツールの中にはパスを指定する部分があるのだが、そこを変えたはずなのに変わっていない。
いろいろ探したら、僕の変えたのは「デフォルト」であり、実際に使われるのは「プロジェクト」ごとの設定とわかった。
修正したら少し進んだが、やはり別のところでとまる。
今度は最初から冷静にエラーログを読む。J2MEWTK という文字が見えたので、指定パスを WTK104 に変えてやる。
これでコンパイルは成功。ひとつの山を越えた。
しかし、今度はエミュレータでプログラムが読み込めない。
ネットで情報を探すうち、J2MEWTK の 1.03 が今でも入手できると判明。ただし「日本語版」だ。
1.04 をアンインストールし、1.03 を入れる。
これでもだめだ。開発ツールのほうはエラーメッセージをそれなりに出してくれたのだが、エミュレータはあまりエラーメッセージを出してくれないようで、手がかりが少ない。
いろいろといじっているうちに、ふと気づいた。
エラーメッセージが短すぎてよくわからなかったのだが、これはそもそも実行に関するエラーではなく、「実行するものがない」と言っているのでは?
Java では、一番最初に実行される関数名として、「プログラム名」を使う。
サンプルプログラムのプログラム名は adseesaw となっている。気になってプログラムの中を見ると…関数名は Adseesaw だ!
念のため AU のチュートリアルページの説明を読んだら、Adseesaw と入れるように書いてあった。単純な入力ミスだ!
プログラムの名称を Adseesaw に変えたら、あっさりと動作した。これに気づくまでに30分近くかかった。
結局、環境を構築するだけで3時間近く。
インストール・アンインストール・巨大ファイルのダウンロード・少ない手がかりの検索などが時間がかかった原因だ。
多分、開発ツール自体は jdk/J2MEWTK のバージョンが違っても動作するんじゃないかと思う (^^;;
(jdk の β版では動かないという記述を読んだが)
さて、これでやっとプログラムの試作をはじめられる。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |