SkyArts.com

Home > Products > Programing tools > DoJa Builder > FAQ

DoJa Builder
Ver 2.x

MIDP開発時に便利な書籍
Java2ME MIDPゲームクリエーターズガイド
J-PHONE、KDDI完全対応

は、技術評論社から発売中です!
サンプル多数で便利に使えますよ!
当然、開発はMIDP Builderが便利!

海外で翻訳出版決定!


SkyArtsのおすすめ商品です!SkyArtsストア
(Powered by Amazon.co.jp)
基本送料無料!
  激安ショップやってます!SkyArts Shop
(激安Shopやってます)
 

-基本-


-バージョンアップ・ライセンス-


-開発-


-カスタマイズ-


-その他-

 

-基本-

Q:DoJa Builderは何ができるのですか?

 DoJa Builderは、DoJa(iアプリ)アプリケーション開発ツールです。 iアプリは、NTT DoCoMoの携帯電話端末上で動作するJavaアプリケーションです。 つまり、DoJa BuilderはNTT DoCoMoのiアプリが開発できるのです!
 DoJa Builderが提供する機能は、以下に挙げるように本格的な開発を行っている私どもが必要と感じた機能を一通り提供していますので、とても便利に使えるはずです。

 ※1 Ver2.0.4からDoJa2.0のライブラリを使用している場合でも使用できるよ うになりました。
 ※2 Ver2.0.10からパッケージングだけを行う機能が追加されました。

 DoJa Builder Ver. 1.xではできなかった新規作成や属性編集、プリプロセッサなどの機能が追加され、より使いやすくなりました。このことによりJ2ME Wireless Toolkit for DoJaと置き換えて使用することが可能となっています。
 使用するディレクトリに関してもJ2ME Wireless Toolkitと互換性があるため同時に使用することが可能です。

 なお、DoJa Builder2はVer 1.xの設定ファイルとの互換性はありません。

  現在、起動回数限定バージョンがダウンロードできますので、DoJa Builder2の便利さを理解するためにも是非試用してみて下さい。

 J-PHONEのJavaアプリ、KDDIのezplusなどのMIDPアプリ開発には姉妹製品の「MIDP Builder2」を使用して下さい。

Q:必要なシステムは何ですか?

DoJa Builderを使うためには以下のソフトウェアが必要です。

Q:J2ME Wireless Toolkit for DoJaと同時に使用できますか?

 はい、できます。
 DoJa Builder2は、J2ME Wireless Toolkit for DoJaのディレクトリ構造とある程度互換性を持たせています。そのため、J2ME Wireless Toolkit for DoJaで作成したプロジェクトをそのまま使用することができます。
 また、DoJa Builder2では、独自ディレクトリを作成して使用するためJ2ME Wireless Toolkit for DoJaの使うディレクトリやファイルとぶつかることはありません。

 なお、DoJa Builder Ver 1.xはJ2ME Wireless Toolkit for DoJaが作成したプロジェクトを使用していましたが、DoJa Builder2はJ2ME Wireless Toolkit for DoJaとは別にプロジェクトを作成することができます。そして、そのプロジェクトはJ2ME Wireless Toolkit for DoJaのものと互換性があります。

Q:オブファスケーターとは何ですか?

 オブファスケーターは本来、Classファイルの中に記載してあるクラス名や変数名を「a」や「b」のように短い名前にして可読性を悪くするものなのですが、副産物としてClassファイルが軽くなります。

 DoJa Builderでは、オブファスケーターとしてGPLで配布されているProGuard(無料)を使用します。このProGuardを使用して試したところ、ファイルサイズを30〜500バイト以上も減らすことができました!
 PC向けの開発を主に行っている方に取っては30〜500バイト以上減らすことができても大したことはありませんが、容量制限が厳しく、通信速度も遅い携帯電話向けに開発を行う際にはこのファイルサイズ削減機能はとても大きいものになります! ファイルサイズの削減は通信時間の削減であり、通信費の削減にも繋がるのです!

 この機能を使えばファイルの軽量化のためにクラス名や変数名などを短くする努力も必要ありません。そしてクラス名が短くなってもJAMファイルに記載する内容はDoJa Builderが自動的に書き換えてくれるので、是非使用することをお勧めします。
 当然、ProGuardの英語のマニュアルを読む必要もありません。ダウンロードして適当な場所に解凍するだけの手間だけで使用できるようになります!

 なお、このオブファスケーターによる最適化は、SunのJ2ME Tech Tipsでも紹介されています!

 ※Ver2.0.4からDoJa2.0のライブラリを使用している場合でも使用できるようになりました。

Q:JDK1.4でも動作しますか?

 はい、動作します。ただし、JDK1.4ではClassファイルのフォーマットが変更されているため、コンパイルの際に-target 1.1オプションを付ける必要があります。
  DoJa Builder2にはこれらのコンパイル時のオプションを指定することができる機能を提供しているため、今後のJDKのアップデートにもスマートに対応できるようになっています。

Q:エラーダイアログが出た後、操作ができないのですが?

 Webからダウンロードできる起動回数限定版は5回までしか起動できません。エラーダイアログには起動回数が越え、ライセンスを購入して下さいと記載があると思います。さらに使用をしたい場合はライセンスを購入して下さい。

Q:起動ができないのですが?

 DoJa Builder2を起動できないこととして、以下のことが考えられます。

Q:なぜ.NET Frameworkが必要なのですか?

 DoJa Builder Ver 1.xはJavaアプリケーションでした。しかし、そのことにより以下の問題点がありました。

  これらのことからユーザーの開発効率をあげるためにはVer1.xを引き継いでJavaアプリケーションのままバージョンアップを行うことは難しいと判断しました。

 開発環境としてエミュレータなどが一番揃っているのはWindowsであり、Ver1.xのユーザーはWindowsを使っていると判断しています。そのため、Ver2.xはより使いやすいWindowsアプリケーションとして提供することを最優先に考えました。
 そして今後のWindowsアプリケーションの主流が.NET Frameworkになると考え、いち早く.NET Framework対応のアプリケーションとして一から開発を行いました。そのため、.NET Frameworkが必要となります。
 .NET Framework必須のソフトウェアは今後どんどん増えていきますので、この機会にインストールしてみていかがでしょうか。

Q:プリプロセッサ機能だけを使いたいのですが?

 DoJa Builder2、および姉妹製品のMIDP Builder2で使用されているプリプロセッサ・エンジンは組み込み式であるため、プリプロセッサ機能だけを使用することはできません。
 しかし、 DoJa Builder2で使用されているプリプロセッサ・エンジンのJava移植版である「PP4J」という製品があります。試用版がダウンロードできますので、検討してみて下さい。

Q:505i、FOMA向け開発はできますか?

 はいできます。

  ただし、DoJa 2.0よりも後のバージョンで追加された属性についてはDoJa Builder2 Ver2.0.6から追加された「ユーザー定義属性」として指定することになります。その代わりに今後のDoJaのバージョンアップにより追加された属性にも容易に対応できます。
 なお、ユーザー定義属性は、基本的にすでに定義されている属性以外は何でも指定できます。もし、属性を入力するのが面倒な場合は、プロジェクトのbinディレクトリ内にあるJAMファイルに属性を記載してからプロジェクトを開けば反映されます。

Q:Windows Vistaで使用できますか?

はい、できます。
ただし、「DoJaBuilder2.exe.config」をテキストエディタで開き、「supportedRuntime」タグの下に以下のタグを追加する必要があります。

<supportedruntime version="v2.0.50727" />
<supportedRuntime version="v2.0.40607" />
-バージョンアップ・ライセンス-

Q:ライセンスについて教えて下さい

 商用、非商用を問わず継続した使用をする場合は、1コンピュータ分につき1575円(内訳1500円+消費税(5%))をお支払い下さい。 つまり、2台のコンピュータで使う場合は2ライセンス購入していただくことになります。このことを無視して使用した場合は違法コピーとして犯罪になります。

 なお、Ver. 1.xのライセンスをお持ちの方はお持ちのライセンス数分だけDoJa Builder2のライセンスを1050円(内訳1000円+消費税(5%))でご購入できます。

Q:ライセンスを購入したいのですが?

 1コンピュータ分につき1575円(内訳1500円+消費税(5%))をお支払い下さい。
 お支払い先はこちらのページに記載されています。お支払いいただきましたならば、メールにてご一報下さい。入金確認が出来次第、製品版をメールにてお送りします。

Q: 製品版のライセンスを持っていますが、バージョンアップした時はどうなるのですか?

 Ver2.x系のライセンスを購入していただいた方にはVer2.x系のバージョンアップした製品版をお送りしています。
 もし、さらに機能を追加して別の製品となるVer3.x系をリリースした場合は2.x系のライセンスをお持ちの方は別途特別料金でアップグレードして頂く形になります。当然その時にはVer2.x系のライセンスを持っていない方よりも安く提供する予定です。

Q: バージョンアップの変更点は?

・ Ver 2.0.12 -> Ver 2.0.13の変更点

・ Ver 2.0.11 -> Ver 2.0.12の変更点

・ Ver 2.0.10 -> Ver 2.0.11の変更点

・ Ver 2.0.9 -> Ver 2.0.10の変更点

・ Ver 2.0.8 -> Ver 2.0.9の変更点

・ Ver 2.0.7 -> Ver 2.0.8の変更点

・ Ver 2.0.6 -> Ver 2.0.7の変更点

・ Ver 2.0.5 -> Ver 2.0.6の変更点

・ Ver 2.0.4 -> Ver 2.0.5の変更点

・ Ver 2.0.3 -> Ver 2.0.4の変更点

・ Ver 2.0.2 -> Ver 2.0.3の変更点

・ Ver 2.0.1 -> Ver 2.0.2の変更点

・ Ver 2.0 -> Ver 2.0.1の変更点

・ Ver 1.x -> Ver 2.0の変更点
  主な変更点は以下の通りです。これらの機能によりJ2ME Wireless Toolkit for DoJaと置き換えて使用することができるようになりました。

Q: Webからダウンロードできる起動回数限定バージョンの制限を教えて下さい?

 基本な機能は製品版と変わりがありませんが、起動できる回数が5回までとなっています。5回よりも多く使用したい場合は製品版のライセンスをご購入下さい。
 なお、逆コンパイルなどによる改変などは一切許可しておりませんので、そのような行為を行って不正に5回よりも多く起動した場合は不正使用となります。

-開発-

Q:DoJa Builderで使用するディレクトリを教えて下さい。

 DoJa Builder2のディレクトリ構成はJ2ME Wireless Toolkit for DoJaとある程度の互換性があります。そのため、ディレクトリ構成を把握しておくことでJ2ME Wireless Toolkit for DoJaのプロジェクトをそのままDoJa Builder2での開発に使用することもできます。

 CドライブのルートにインストールしたDoJa Builder2のディレクトリ構成は以下の通りになります。

C:\
  + DoJaBuilder2
      + bin
      + help

 DoJa Builder2もJ2ME Wireless Toolkit for DoJaと同様にプロジェクトという単位でiアプリを管理します。プロジェクトを作成するとDoJaBuilder2ディレクトリの下に「apps」ディレクトリが作成され、「apps」の下にプロジェクト名と同名のディレクトリが作成されます。

 以下は、 プロジェクトを作成した時のディレクトリ構造です。

C:\
  + DoJaBuilder2
      + apps
     |    + プロジェクトのルート
     |        + bin
     |        + bin2
     |        + classes
     |        + lib
     |        + libclasses
     |        + res
     |        + src
     |        + src2
     |        + tmpclasses     
      + bin
      + help

 「apps」ディレクトリの下にプロジェクト名と同名のディレクトリが作成され、その下に各種ファイルを入れておくディレクトリが作成されました。
 プロジェクトのディレクトリ下にできる各ディレクトリは以下の意味を持ちます。

 上記の様にプロジェクトディレクトリ内のディレクトリの意味的にもJ2ME Wireless Toolkit for DoJaとある程度の互換性があるため、J2ME Wireless Toolkit for DoJaと同時に使用することが可能になっています。

Q:ビルド時に内部的に行われる処理内容を教えて下さい。

 DoJa Builderは、現在開いているプロジェクトに対し、以下の処理を行います。

1. プリプロセッサ(使用時のみ)
2.
コンパイル
3. ProGuardでオブファスケート処理(ProGuard使用時のみ)
4. 実行前検証処理(Preverify)
5. JARファイル作成
6. JAMファイル内の記述の書き直し

Q: J2ME Wireless Toolkit for DoJaを使わないで開発したいのですが?

 DoJa Builder2は、以下の4つのソフトウェアがあればJ2ME Wireless Toolkit for DoJaを使う必要はありません。ただし、Preverifyツールだけを手に入れるにはMIDP FCSやCLDCをダウンロードして入手しなくてはいけないため、 J2ME Wireless Toolkit for DoJaのPreverifyツールを使うのが楽だと考えられます。

 また、基本的にJ2ME Wireless Toolkit for DoJaで使用するディレクトリと互換性がありますので、もしJ2ME Wireless Toolkit for DoJaでプロジェクトを作成済みなのであればJ2ME Wireless Toolkit for DoJaのプロジェクトをそのまま使用する方法があります。
 その方法とは、DoJa Builder2のファイルを解凍した後にできるディレクトリのbinディレクトリをJ2ME Wireless Toolkit for DoJaのアプリケーションなどが入ったbinディレクトリに移動させるだけです。これだけでJ2ME Wireless Toolkit for DoJaのプロジェクトをDoJa Builder2で使用できるようになります。

Q: ビルドの途中で止まってしまうのですが?

 JDKのバージョンを変更したり、JDKのパスを変更していませんか?
 もし上記のような変更を行った場合は環境設定ダイアログでJDKのパスなどを変更して下さい。

Q: コンパイルがきちんとできないのですが?

 コンパイルオプションに不正なものを記載していませんか?
 コンパイルのコマンドはコンソールに出力されますので、確認してみて下さい。

Q:ビルドしたiアプリをZentekTechnologyのi-JADEで実行する設定を教えて下さい

 Zentek Technologyのi-JADEを設定する場合は以下の様に設定します。なお、N503iのエミュレータを設定する例を記載します。
1. 環境設定ダイアログの実行設定タブで追加ボタンを押下し、コマンド設定ダイアログを開く。
2. コマンド設定ダイアログの設定名にわかりやすく「N503i」と入力。
3. アプリケーションテキストフィールドには以下の内容を記載したバッチファイルのパスを入力します。
   (設定例:C:\DoJaBuilder\bin\iJADE.bat)
バッチファイルの内容:
java -jar C:\i-jade\i-jade-%1.jar %2
4. 引数テキストフィールドには「n %PROJ-BIN%\%PROJ-NAME%.jam」と指定。
※%1にnを指定するとN503i、pにするとP503iのエミュレータを呼び出すことができます。

Q:オブファスケーターで処理中にエラーになってしまうのですが?

 Ver2.0.4以降にてProGuardを使用している場合のエラーについては、CLASSPATHの制約が厳しいため、設定ダイアログにて設定するクラスパスが以下の場合にはエラーになります。見直してみて下さい。

 最後の項目によりエラーの場合には以下の様なメッセージが連続して表示されてエラーになることがあります。この場合はプロジェクト毎にクラスパスを変更させれば回避できます。

Warning: duplicated input class [java/io/ByteArrayInputStream]

 また、 DoJa Builder2においてProGuardを使用する場合にはパス指定時に以下の制約がありますので、あわせて注意して下さい。


 Ver2.0.3までは、DoJa Builderが使用しているオブファスケーターには「java.lang.Class.forName(String)メソッドを使用している場合はオブファスケート処理ができない」という制約があります。そのためDoJa 1.0(503i向け)のクラスライブラリを使っている分には問題ないのですが、DoJa 2.0(504i向け)のクラスライブラリを使用するとこの制約に該当してしまうためエラーになってしまうことがありました。
 ※Ver2.0.4からは使用しているオブファスケーターを変更したため、DoJa 2.0(504i向け)のクラスライブラリを使用していてもこの制約は無くなりました。

Q:ビルドしたiアプリをiappliTool(DoJa2.0)のエミュレータで実行する設定を教えて下さい

 ドコモが提供している公式ツールであるiappliTool(DoJa2.0)に付属されているエミュレータを実行するためには、以下の様に設定します。なお、使用に関しての不具合などは一切保証しませんのでご注意下さい。

 ここで説明する設定は、エミュレータの実行ファイルであるdoja.exe、ビルドしてできたJAM、JARファイルを指定するだけの簡易的なものです。もしそれ以外のオプションなどを使用する場合は適宜修正して下さい。
 ※doja.exeのオプションなどについては、コマンドプロンプトで「doja.exe -help」と入力すれば表示されます。

1. 環境設定ダイアログの実行設定タブで追加ボタンを押下し、コマンド設定ダイアログを開く。
2. コマンド設定ダイアログの設定名にわかりやすく「DoJa Emulator」と入力。
3. アプリケーションテキストフィールドには以下の内容を記載したバッチファイルのパスを入力します。
   (設定例:C:\DoJaBuilder2\bin\DoJaEmu.bat)
バッチファイルの内容:

C:\iDK\bin\doja.exe -i %1 -j %2

※doja.exeのパスに関してはお使いの環境に合わせて設定して下さい。

4. 引数テキストフィールドには「%PROJ-BIN%\%PROJ-NAME%.jam %PROJ-BIN%\%PROJ-NAME%_s.jar」と指定。

※この指定は、JAM、JARファイルのフルパスを指定しています。

Q:RetroGurad以外のjargというオブファスケーターを使用したいのですが?

 DoJaBuilderが使用しているオブファスケーターツールであるRetroGuardは、フリーでとても良いソフトウェアですが、「java.lang.Class.forName(String)メソッドを使用している場合はオブファスケート処理ができない」という制約があります。そのため、504i向けに開発する時にはエラーになって使用できません。
※Ver2.0.4から使用するオブファスケーターツールをProGuardに変更したため、上記制約は解決しています!

 同じようにフリーのオブファスケーターツールであるjarg(Java Archive Grinder)では、その制約が無いようで、504i向けにオブファスケート処理ができます。
  しかし、DoJa Buliderは、オブファスケーターで処理をした後、ログファイルの解析を行ってJAMファイルの内容を書き換えているため、簡単には対応できません。そのため、もしjargを使用したい場合は、実行設定で独自にオブファスケーター処理を行って使って頂くことになります。

 jargを使う時の設定例を以下に示します。なお、使用に関しての不具合などは一切保証しませんのでご注意下さい。
 jargはダウンロードして適当なところに解凍して置いて下さい。

1. 環境設定ダイアログの実行設定タブで追加ボタンを押下し、コマンド設定ダイアログを開く。
2. コマンド設定ダイアログの設定名にわかりやすく「jarg」と入力。
3. アプリケーションテキストフィールドには以下の内容を記載したバッチファイルのパスを入力します。
   (設定例:C:\DoJaBuilder2\bin\jarg.bat)
バッチファイルの内容:

cd %1
java -jar C:\DoJaBuilder2\bin\jarg.jar -j2me-prev C:\iDK\bin\preverify.exe -j2me-cp C:\iDK\lib\doja_classes.zip;C:\iDK\lib\classes.zip -rnlog jarg.log -showtime %2

※1行目でJARファイルのディレクトリに移動し、2行目でjargでオブファスケート処理を行います。
※jarのパスに関してはお使いの環境に合わせて設定して下さい。
※jarg.jarファイルのパス、及び「-j2me-prev」に続くpreverify.exeのパス、「-j2me-cp」に続くクラスパスはお使いの環境に合わせて使用して下さい。
※使用していないjargのオプションに関しては、ご自由に指定して使用して下さい。

4. 引数テキストフィールドには「%PROJ-BIN% %PROJ-NAME%.jar」と指定。

※この指定は、JARファイルのディレクトリとJARファイルのフルパスを指定しています。

 上記設定でjargを使う時には以下のことに気を付けてお使い下さい。
1. 処理後に出力されるJARファイルは、元のJARファイル名に「_s」が 付く。(例 SpaceShooter.jar -> SpaceShooter_s.jar)
2. IApplicationクラスを継承するクラスのCLASSファイルは名前が変更されない。
3. 処理の終了は 4567[msec] という処理時間メッセージが出た時で判断する。
4. オプション指定でPreverifyとクラスパスを指定し、 Preverify処理を行う必要がある。
5. jargで処理したログは、プロジェクトのbin2ディレクトリにjarg.logという名前で出力される。
6. 当然、JAMファイル内のJARファイルサイズは手動で書き換える必要 がある。
以上

Q:WindowsXPで開発する上での注意点

WindowsXPで開発をしていると「Thumbs.db」という名前のファイルがJAR(またはKJX)ファイルに入ってしまい無用にサイズが大きくなることがあります。
  この「Thumbs.db」ファイルは、画像ファイルの入ったフォルダをエクスプローラーなどで縮小版表示(絵の内容を縮小表示する形態)で表示すると現れるOSのシステムファイルですが、通常は見ることができません。「Thumbs.db」ファイルの存在を知る方法を以下に記載します。

1. JARファイルの拡張子を「.zip」にしてZIP解凍ツールで中身を一覧表示してみる
2. エクスプローラーなどの[ツール]メニュー -> [フォルダオプション]メニュー -> [表示]タブから「保護されたオペレーティング システム ファイルを表示しない(推奨)」チェックボックスをはずす
 ※なお、このチェックボックスはチェックしていることが好ましいので、使用時には注意して下さい。

 「Thumbs.db」ファイルは意外に重く、数十KBあります。JARファイルの中に入った時にはその半分の容量になりますが、携帯電話Java開発時には無用なサイズです。「Thumbs.db」ファイルは削除しても問題のないファイルだと思われますが、もし削除する場合は自己責任の上で行って下さい。

Q:複数のクラスパスを切り替えて使用したいのですが?

 Ver2.0.13から、プロジェクト毎にクラスパスを変更する機能が追加されました。各プロジェクトのbin2ディレクトリ内にクラスパスを記載した「CLASSPATH.txt」を置いておくことでビルド時にクラスパスを切り替えて使用されます。「CLASSPATH.txt」内は改行を許可していませんので、クラスパスは改行無しで記載して下さい。パスが複数ある場合は通常のクラスパス指定時と同じように「;」で区切ります。

 Ver2.0.13よりも前のバージョンをお使いの場合は以下の方法が使用できます。
 505i向け、およびFOMA向けといったようにクラスパスを切り分けて使用したいという要望はあるかと思います。一番簡単に対応する方法は、「DoJaBuilder2を複数インストールし、それぞれの設定を行う」ことです。

 例えば、C:\iappToolの直下にインストールしていた場合、以下のようなディレクトリ構成でインストールし、それぞれのDoJaBuilder2でクラスパスの設定をしておけば起動するDoJaBuilder2を変えることで対応することができます。
 ライセンス的には、「1PCに付き1ライセンス」という決まりであるため、同一PC上に複製してインストールしても問題ありません。
C:\iappTool
  + bin505 (505i向け設定DoJaBuilder2) 
+ binFOMA (FOMA向け設定DoJaBuilder2)

 

Q:コンパイルオプションについて教えて下さい?

 DoJaBuilder2は、javacコマンドによるコンパイルを行う時にコンパイルオプションとして引数を指定できます。ただし、以下の2オプションについては指定済みのため使用できません。

 指定するとすれば以下の3つになるでしょう。

 なお、Java1.5の場合は以下のオプションが必要になります。

  • -source 1.3...1.3を指定することでソースコードのアサーション機能をサポートしないように指定します。アサーション機能とはJava1.4で追加された機能で、現時点で携帯電話Javaには関係ありません。

Q:プリプロセッサ機能を使った効果的な軽量化方法を教えて下さい

 DoJaBuilder2には、プリプロセッサ機能が付いています。この機能を効果的に使うことでさらにファイルの軽量化を図ることが可能になります。
 携帯Javaの場合、以下のことが勧められていますが、とてもスマートとは言えません。

 特に「定数を使わずにローカル変数にする」はコードの再利用をする場合にはわかりにくくなります。そのため、できるだけ定数を使いたいとは思いますが、定数が多くなれば多くなるほどファイルが重くなってきます。そこで、プリプロセッサ機能を使って定数を置き換えます。
 具体的には、以下の順番で行います。

1. 定数を作成して使用する。
  この時、定数はstatic finalにし、使用するときにはクラス名.定数名の形式にする。このことで他のクラスでの使用、および置き換えるときに非常に有効になります。

2. 軽量化の必要が出てきた時にプリプロセッサの#define構文の置き換え機能を使用して以下のことを行う

 付属のプリプロセッサ機能に付いているコメント行構文を有効にするオプションを使うことでIDEでコードを編集していてもエラーにはならないため、非常に効率が上がります。そして、同時にオブファスケーターを使用することでさらにコードの軽量化が期待できます。
  なお、上記方法は変数定義を減らすことで軽量化を図っていますが、定数が少ない場合には思ったよりも軽量化がされない場合がありますので、色々と試してベストな方法を探してみて下さい。

Q:iappliToolをバージョンアップしたらエミュレータが起動できなくなったのですが?

 iappliTool 4.1からエミュレータ(doja.exe)の起動時の処理が変更されたらしく、jam、jarファイルが「bin」ディレクトリにないと起動しても直ぐ落ちてしまう模様です。
 DoJaBuilder2ではビルド後にjam、jarファイルを「bin2」 ディレクトリに出力するため、この制限に当たってしまい、起動できなくなったと考えられます。
※「bin2」ディレクトリに出力されたjamファイルをダブルクリックする等して直接起動した場合でも「bin」ディレクトリにあるjarファイルを見に行くようです。

 出力パスを変更するには、「DoJaBuilder2_Path.resx」ファイルの以下の個所のvalue値を「bin2」から「bin」に変更する事で可能です。ただし、binディレクトリ内のjamファイルを書き換える事になりますので、iappliToolと同時起動している時にはiappliTool側に変更が反映されない可能性がありますのでご注意下さい。

<data name="ProjectBin2Name">
  <value>bin2</value>
</data>

 なお、ユーザーから「bin2」->「bin」ではなく、「bin2」->「output\bin」に変更しても起動可能(コマンド設定は適宜修正して下さい)とのご報告を頂いております。

-カスタマイズ-

Q: エミュレータの代わりにバッチファイルを起動できますか?

 はい、できます。引数としてパスを指定でき、さらに複数のアプリケーションを登録できますので、バッチファイルなどを使用して外部コマンドの呼び出しなどを行うこともできます。

Q:eclipseと組み合わせて使用したいのですが?

 DoJaBuilder2はeclipseのプラグインではないため、eclipseに組み込んで使用することはできません。しかし、以下の2つの方法を使えばeclipseで編集したソースをビルドすることは可能です。
 ただし、eclipseで編集する時にプロプロセッサの構文はエラーの対象になるため目障りになるかも知れませんのでコメント付き構文オプションを使用した方が良いでしょう。
 なお、 eclipseについてのご質問についてはご遠慮下さい。

方法1. DoJaBuilder2にeclipseのworkspaceディレクトリをiappliToolのappsディレクトリの代わりに認識させる

手順
1. eclipseのディレクトリ直下にbinディレクトリを作成し、その中にDoJaBuilder2をインストールする。
2. 「DoJaBuilder2_Path.resx」ファイルをテキストエディタなどで開き、 以下の様なXMLタグ部分の「apps」を「workspace」 に置き換えます。
 ※同じXMLタグが複数有りますが、 dataタグのname属性値は違うので識別可能です。

        
<data name="AppsDirName">
  <value>apps</value>
</data>
 以下の様に太字の部分を変更します。 これで iappliToolのappsディレクトリの代わりに eclipseのworkspaceディレクトリを使うことを認識させることができました。
<data name="AppsDirName">
  <value>workspace</value>
</data>

3. eclipseでJavaプロジェクトを作成(DoJaライブラリにクラスパスを通しておいた方が好ましいでしょう。)
4. DoJaBuilder2を起動し、3で作成したプロジェクトと同名プロジェクトを作成

 上記手順を行うことでeclipseで編集したソースをそのままビルドすることは可能です。
 なお、 上記説明はeclipseのJavaプロジェクトのソースファイルをsrcディレクトリに入れているという前提ですので、もしeclipseのプロジェクトのソースをsrcディレクトリ以外に入れて使用している場合は 「DoJaBuilder2_Path.resx」ファイルの以下のタグ部分の「src」指定を直すことで対応できます。

<data name="ProjectSrcDir">
  <value>src</value>
</data>

※eclipseがビルドして生成するCLASSファイルの入ったディレクトリとDoJaBuilder2のCLASSファイルを入れるために使用するディレクトリ(classes,tmpclasses)が同じ場合、eclipseにてコードを編集をしている時にエラーがでることがあります。このエラーは、eclipseのプロジェクトのプロパティにて「デフォルト出力フォルダー」をDoJaBuilder2の使用しない「build」などのディレクトリ名に変更することで回避できます。

方法2. eclipseで編集したソースコードをiappliToolのappsディレクトリに移動させてDoJaBuilder2でビルドする
 この方法は、「DoJaBuilder2_Path.resx」ファイルは編集しない代わりに多少手間がかかりますが、ません。
  具体的には、ビルドする時にソースコードがDoJaBuilder2のプロジェクトディレクトリ内のsrcディレクトリに入れる手間が増えます。
 ソースファイルを簡単に移動させる例として実行設定にファイル移動用バッチファイルを指定して使う方法を挙げます。
1. 環境設定ダイアログの実行設定タブで追加ボタンを押下し、コマンド設定ダイアログを開く。
2. コマンド設定ダイアログの設定名にわかりやすく「eclipse」と入力。
3. アプリケーションテキストフィールドには以下の内容を記載したバッチファイルのパスを入力します。
   (設定例:C:\DoJaBuilder2\bin\file_move4eclipse.bat)
バッチファイルの内容:
copy C:\eclipse\workspace\%1\src\*java %2
※「C:\eclipse\workspace\%1\src\*java」の「%1」部分は起動する時にプロジェクト名に置き換わります。
※「%2」部分は起動する時にDoJaBuilder2のプロジェクトのsrcディレクトリ名に置き換わります。
4. 引数テキストフィールドには「%PROJ-NAME% %PROJ-DIR%\src」と指定。
※この指定は、DoJaBuilder2でのプロジェクト名とプロジェクトのsrcディレクトリを指定しています。
 上記設定のバッチファイルを使う時には以下のことに気を付けてお使い下さい。
1. eclipseのプロジェクト名とDoJaBuilder2のプロジェクト名を同じにする。
2. eclipseのプロジェクトのソースファイルの置き場所が違う場合はバッチファイルを変更して下さい。
3. 上記バッチファイルはパッケージには対応していません。(対応したい場合はバッチファイルを書き換えて下さい。)
以上

Q:高速化について

 .NET Frameworkアプリケーションはネイティブアプリケーション(C言語など)と比べるとネイティブコードに変換してから実行するため、どうしても遅くなるのが非常に気になる部分です。しかし、.NET FrameworkにはNgen(ネイティブ イメージ ジェネレータ (Ngen.exe))というツールが含まれており、このツールを使うことで高速化を図ることができます。Ngenの詳細はマイクロソフトのサイトを参照して下さい。

 Ngenは、該当のEXEファイルを指定して実行するだけです。ただし、バージョンアップ時にはNgenのdeleteオプションを指定して削除する必要があります。

 以下にC:\tools\DoJaBuilder2\ディレクトリ内にあるDoJaBuilder2.exeに対してNgenをする例を挙げます。
 ※ Ngen.exeはWindowsXPの場合「C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322」(.NET Framework1.1の場合)にあります。

通常時

削除時

-その他-

Q:DoJa Builderに要望があるのですが?

 ご意見、ご要望はいつでも受け付けていますので、こちらのアドレスまでメールでお送り下さい。良いご意見、ご要望の場合はバージョンアップの時に機能追加等で対応する可能性があります。
 なお、これは返答を保証している訳ではありませんのでご了承下さい。

Q:質問があるのですが?

 ライセンスをご購入頂いた方からの質問はいつでも受け付けています。こちらのアドレスまでメールでお送り下さい。

Q:携帯電話Javaについて学びたいのですが?

 個人の方であれば、私どもSkyArtsの代表である「米川」が執筆した「Java2ME MIDPゲームクリエーターズガイド - J-PHONE、KDDI完全対応」(技術評論社から発売中)を購入して学ぶことをお勧めします。ただし、この書籍はDoJa(iアプリ)とは違いますのでご注意下さい。

 法人などの団体の方の場合は、社員教育やセミナーなどを承っておりますのでこちらのアドレスまでメールでご相談下さい。私どもは携帯電話Javaの書籍、雑誌記事執筆、開発ツール開発などの実績があります。


 

ご意見、ご要望をこちらのアドレスまでお寄せください。
Copyright(C) 1997-2007 SkyArts.com. All Rights Reserved.