11 埋込みアプリケーションの開発およびテスト
この章では、埋込みアプリケーションを開発、テストおよびコンパイルする手法について説明します。 これは、ヘッドレス・アプリケーションとヘッドフル・アプリケーションの両方に適用されます。
この章は、次の項目で構成されています:
ヘッドフル・アプリケーションに固有の情報は、「ヘッドフル・アプリケーションの開発」を参照してください。
ヒント:
開発プロセスの概要については、「アプリケーション開発者のためのクイック・スタート」を参照してください。
アプリケーションの開発
完全なJDKを使用してホスト・コンピュータでアプリケーションを開発します。 任意のJavaアプリケーション開発ツールを使用できます。 たとえば、「NetBeans IDEでの埋込みアプリケーションの開発」を参照してください。
標準のJDKドキュメントを参照する際は、コンパクト・プロファイルに関するAPIドキュメント内の情報を使用して、埋込みデバイスにインストールされるJREの制約内で作業していることを確認します。 「APIオブジェクトのコンパクト・プロファイルの決定」を参照してください。
ホスト・コンピュータでのアプリケーションのテスト
アプリケーションを頻繁にテストして、カスタムJREに含まれているコンパクト・プロファイルでアプリケーションが実行されるようにします。 プロファイルをチェックする標準のJDKツールが2つあります: javac
およびjdeps
。
javacツールおよび -profileオプションを使用したコンパイル
javacツールを使用してアプリケーションをコンパイルする場合は、 -profileオプションを使用して、ターゲット・デバイスにインストールされているプロファイルを指定し、アプリケーション内のすべてのAPIがカスタムJREに含まれるプロファイルに含まれているかどうかをテストします。
たとえば、次のコマンドでは、アプリケーションをコンパイルし、同時にテストして、すべてのAPIがcompact1
プロファイルに含まれていることを確認します。
$ javac -profile compact1 Hello.java
Hello.java
がcompact1
プロファイルに存在しないAPIを使用する場合、コンパイラはエラーを検出します。
jdepsツールを使用した最小限必要なコンパクト・プロファイルのテスト
コンパイル後、jdeps
依存性アナライザ・ツールを-P
オプションとともに使用して、アプリケーション内の各クラスに必要な最小コンパクト・プロファイルを決定できます。 たとえば:
% jdeps -P HelloWorld.class
出力の例は次のとおりです。
HelloWorld.class -> /net/test11.us.example.com/export/java-re/jdk/8/ea/b124/binaries/linux-i586/jre/lib/rt.jar <unnamed> (HelloWorld.class) -> java.io compact1 -> java.lang compact1
この例では、アプリケーションで使用される両方のクラスで、compact1
プロファイルが最小限必要です。
ターゲット・デバイスでのアプリケーションのテスト
場合によっては、ターゲット・デバイスでアプリケーションをテストし、アプリケーションが最終的なときにデプロイする必要があります。 「埋込みアプリケーションのデプロイ」を参照してください。