Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル開発者ガイド 11g リリース2 (11.1.2.3.0) B70750-01 |
|
![]() 前 |
![]() 次 |
この章では、テストと公開のためのADFモバイル・アプリケーションのデプロイ方法について説明します。
この章では、次の項目について説明します。
エンド・ユーザーに配布するためにアプリケーションを公開する前に、シミュレータまたは実際のデバイスでこれをテストして、その動作と使いやすさを評価する必要があります。ADFモバイルでは、iOSアプリケーション・バンドル(.ipa
ファイル)またはAndroidアプリケーション・パッケージ・ファイル(.apk
)をプラットフォームに適したデバイスまたはシミュレータにデプロイすることで、App Store (Apple iTunes)またはアプリケーション・マーケットプレイス(Google Playなど)に公開する前にアプリケーションをテストできます。
ADFモバイル・プロジェクトのデプロイメントは、プラットフォーム固有のテンプレート・アプリケーションを一時的な場所にコピーして、ADFモバイル・プロジェクトで定義されたコード、リソースおよび構成を使用してアプリケーションを更新してから、ターゲット・プラットフォームのツールを使用してアプリケーションをビルドおよびデプロイすることで行います。デプロイメントを構成するタスクは次のとおりです。
指定のプラットフォームSDKでプラットフォーム固有のビルド・ツールを使用できることを検証します。
XMLファイルを含むアプリケーションの内容を検証します。
必要であれば、プラットフォームに依存するテンプレート・ファイルを一時的な場所に解凍します。
注意: 「ビルド」→「すべてクリーン」を選択すると、テンプレート・ファイルが存在しない場合があります。 |
テンプレートの適切な場所にデフォルト・イメージをコピーします。
テンプレートの適切な場所にカスタム・イメージをコピーします。
Webコンテンツ(機能アプリケーションに関連するあらゆるイメージを含む)をテンプレートの場所にコピーします。
Java仮想マシン1.4 (JVM 1.4)のライブラリとすべてのサポート・ライブラリを、テンプレートの適切な場所にコピーします。詳細は、第16.1.1.2項「JVM 1.4ライブラリのデプロイメント」を参照してください。
カスタム・コンテンツをテンプレートの適切な場所にコピーします(これにはプロジェクト・プロパティに含まれているライブラリとJARファイルが含まれます)。
テンプレートのメタデータ・ファイルをコピーするか、デプロイメント・プロファイル、adfmf-application.xml
ファイルおよびadfmf-feature.xml
ファイルで定義されているプリファレンスで更新します。
テンプレート・プロジェクトで、プラットフォーム固有のビルド・ツールを実行します。
テンプレート・プロジェクトでプラットフォーム固有のツールを実行し、プロジェクトに署名して(必要な場合)、選択したデプロイメント用にプロジェクトをパッケージ化します。
Androidアプリケーションのデプロイメント・フローの詳細は、第16.2.3.6項「AndroidエミュレータまたはAndroidデバイスにアプリケーションをデプロイする場合のJDeveloperでの処理」を参照してください。iOSアプリケーションのデプロイメント・フローの詳細は、第16.4.5.1項「iOSシミュレータまたはiOSデバイスにアプリケーションをデプロイする場合のJDeveloperでの処理」を参照してください。
「ライブラリとクラスパス」ダイアログ(図16-1を参照)を使用してプロジェクトに宣言するライブラリは、そのプロジェクトのデプロイメント・アーティファクトに含まれます。このダイアログにより、アプリケーション機能は実行時にこれらのライブラリにアクセスすることが可能になります。
AndroidアプリケーションとiOSアプリケーションのどちらの場合も、それぞれのADFモバイルのデプロイメントには、デプロイメントのタイプ(リリースまたはデバッグ)とデプロイメント・ターゲット(シミュレータまたは実際のデバイス)の組合せに固有の異なるライブラリのセットが含まれます。さらに、それぞれのライブラリ・セットには、JVM 1.4のJARファイルが含まれます。アプリケーションのバインディング・レイヤーは、Objective-Cライブラリのコレクションであるこの仮想マシン内にあります。たとえば、ADFモバイルは、iOSシミュレータをターゲットとするデバッグ・デプロイメントに対して、JVM 1.4 JARファイルと一連のライブラリをデプロイしますが、実際のiOSデバイスをターゲットとするデバッグ・デプロイメントに対しては、異なるJVM 1.4 JARファイルと一連のライブラリをデプロイします。
デプロイメントのためにADFモバイル・アプリケーションを準備する際は、最初に、プラットフォーム固有のデプロイメント・プロファイルを作成します。デプロイメント・プロファイルでは、iOSデバイス、Androidデバイス、iOSシミュレータまたはAndroidエミュレータにデプロイするアプリケーションをアーカイブにパッケージ化する方法を定義します。デプロイメント・プロファイルは次を行います。
アーカイブの形式と内容を指定します。iOSのアーカイブ形式は、アプリケーション・バンドルとして知られている.ipa
ファイルになります。Androidのアーカイブ形式は、Androidアプリケーション・パッケージ・ファイル(.apk
)になります。
注意:
|
アーカイブ・ファイルへのパッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタおよびその他の補助ファイルをリストします。
作成されるアーカイブ・ファイルのタイプおよび名前を記述します。
依存情報、プラットフォーム固有の指示およびその他の情報を示します。
ADFモバイルの拡張機能によって、iOSとAndroidのどちらのデプロイメントでも、ADFモバイル固有のページ(表16-1で説明)が、次を含む標準ADFデプロイメント・ページに追加されます。
ファイル・グループ
ライブラリ依存性
プロファイル依存性
「デプロイメント・プロファイルの作成」ウィザード(図16-2を参照)を使用して、デフォルトのデプロイメント・プロファイルを作成できます。デプロイメント・プロファイルは、必要な数だけ作成できます。これらの標準ADFデプロイメント・プロファイル・ページの詳細は、「ヘルプ」をクリックしてJDeveloperオンライン・ヘルプを参照してください。
注意: ADFモバイル・アプリケーションのデプロイメントでは、アプリケーションレベルのデプロイメント・プロファイルの作成のみが必要とされるので、ビュー・コントローラレベルのデプロイメント・プロファイルを作成する必要はありません。 |
始める前に:
JDeveloperでADFモバイル・アプリケーションをデプロイできるようにするには、第3.3.1項「プラットフォームとフォーム・ファクタに応じた開発環境の構成方法」で説明されているように、ADFモバイル・プリファレンスのページを使用してターゲット・プラットフォームのSDKを指定する必要があります。
デプロイメント・プロファイルを作成する手順は、次のとおりです。
「アプリケーション」→「デプロイ」を選択します。
「新規デプロイメント・プロファイル」を選択します。
ターゲット・プラットフォームに応じて、「Android用ADFモバイル」または「iOS用ADFモバイル」を選択します(図16-2を参照)。
プロファイルのデフォルト名をそのまま使用するか、新しい名前を入力します。「OK」をクリックします。
必要な場合は、「オプション」ページと「アプリケーション・イメージ」ページを適宜使用して、「OK」をクリックします。
ウィザードが完了すると、JDeveloperによってデプロイメント・プロファイルが作成され、デプロイメント・プロファイルのプロパティ・エディタが開きます。
表16-1に、デプロイメント・プロファイルのプロパティ・エディタのADFモバイルに固有のページ(図16-6を参照)をリストします。
表16-1 ADFモバイル固有のデプロイメント・プロファイル・ページ
ページ | 機能 |
---|---|
iOSオプション |
iOSデバイスまたはiOSシミュレータにデプロイされるアプリケーションの設定を変更できます。 |
Androidオプション |
AndroidデバイスまたはAndroidエミュレータにデプロイされるアプリケーションの設定を変更できます。 |
アプリケーション・イメージ |
適切なグラフィックス・ファイルを追加することで、アプリケーションにカスタム・アイコンを割り当てられます。 |
デバイスの向き |
アプリケーションの表示をデバイスの特定の向きに制限できます。このページはiOSデプロイメント・プロファイルのみに使用されます。 |
アプリケーションをデプロイすると、JDeveloperによってデプロイメント・ディレクトリと関連するサブディレクトリが作成されます。さらに、ビュー・コントローラ・プロジェクトとアプリケーション・コントローラ・プロジェクトの両方の機能アーカイブ・ファイル(FAR)が作成されます。これら2つのFARに加え、プロジェクトにインポートされたすべてのFARのコピーがJDeveloperによって作成されます。コンパイル・プロファイルを変更する際は、デプロイメント・ディレクトリを削除する必要があります。「ビルド」→「すべてクリーン」を選択することで、このディレクトリに加え、FARを含むビュー・コントローラ・プロジェクト内のデプロイメント・ディレクトリを削除できます。
「フィルタ」パネル(図16-3を参照)を使用して、選択したアーティファクトをデプロイから除外できます。特に、「フィルタ」パネルを使用すると、ターゲット・デプロイメント・プラットフォームに合わないすべてのアーティファクトを除外できます。詳細は、Oracle JDeveloperオンライン・ヘルプを参照してください。
デプロイメント・プロファイルによって、Androidデバイスまたはエミュレータへのアプリケーション・デプロイメントのためのテンプレートまたはAndroidアプリケーション・パッケージ・ファイル(.apk
)としてアプリケーションを作成するためのテンプレートが作成されます。
Androidのデプロイメント・プロファイルを作成するには、アプリケーションの署名オプションとjavac
コンパイラの動作を定義し、必要な場合はアプリケーション・アイコンに使用されるデフォルトOracleイメージをカスタム・イメージでオーバーライドします。
始める前に:
第3.5項「Androidプラットフォーム用の開発ツールの設定」の説明に従って、Android SDKをインストールおよびダウンロードします。Androidエミュレータにデプロイする場合は、Android開発者のWebサイト(http://developer.android.com/tools/devices/index.html
)の説明に従って、Android Virtual Device Managerを使用して各エミュレータ・インスタンスの仮想デバイスを作成する必要があります。Android Virtual Device (AVD)を作成する際は、「CPU/ABI」値にARMシステム・イメージが反映されていることを確認してください(例: 図16-4のARM (armeabi-v7a))。また、AVDのSDカード・イメージ・ファイルのサイズを、大きなRAMサイズに設定してください(例: 図16-4の「Device ram size」プロパティでは1024 MB (1 GB)に設定)。ただし、小さなサイズを指定することもできます。
注意: ADFモバイルでは、ARM EABI v7aシステム・イメージのみがサポートされます。ADFモバイルでは、Android 2.3.nプラットフォーム(APIレベル9)上で動作するAndroidデバイスがサポートされますが、このプラットフォーム上で動作するエミュレータへのデプロイメントはサポートされません。なぜなら、これらはARM926EJ-S rev 5 (v51)プロセッサをベースとしているからです。さらに、JVM 1.4を2.nプラットフォームのAndroidエミュレータにデプロイすると、正しく動作できなくなります。 |
また、AndroidプラットフォームSDKのADFモバイルのプリファレンス(「ツール」→「プリファレンス」→「ADFモバイル」→「プラットフォーム」→「Android」を選択してアクセス)を、Android SDKパッケージのダウンロードの一部であるSDKとプラットフォームの場所に設定する必要があります。図16-5には、これらの場所が示されています。「プラットフォーム」ページを使用して、Androidアプリケーションの署名に使用されるキーのデバッグとリリースのプロパティも定義します。続いて、デプロイメント・プロファイル内で、ADFモバイル・アプリケーションのリリースをデバッグまたはリリースに指定します。署名キー・プロパティは一度定義するのみでかまいません。詳細は、第16.2.3.3項「Android署名オプションの定義」を参照してください。また、Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html
)で、アプリケーションの公開に関する情報も参照してください。
注意: Androidエミュレータにアプリケーションをデプロイするには、API 14以降(Platform 4.0.n)をインストールする必要があります。 |
「Androidオプション」ページ(図16-6を参照)では、次を行うことができます。
アプリケーションのバージョンを示します。Androidアプリケーションのバージョニングの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/publishing/versioning.html
)を参照してください。
.apk
ファイルのパッケージングを最適化するアーカイブ位置合せツールであるAndroid zipalignツールを構成します。データ・マニフェストなど、各アプリケーション・パッケージに格納されるデータ・ファイルは、Androidオペレーティング環境内の複数プロセスによって絶えずアクセスされます。zipalignツールの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/help/zipalign.html
)を参照してください。
ロギング・レベル出力を詳細またはデバッグに設定します。
デプロイメント・ターゲットに適した署名オプションを設定します(エミュレータまたはデバイス)。詳細は、第16.2.3.3項「Android署名オプションの定義」を参照してください。
アプリケーション・オプションを設定するには:
「Androidオプション」(図16-6を参照)を選択します。
デフォルト値をそのまま使用するか、次のオプションを定義します。
アプリケーション・バンドルID: adfmf-application.xml
ファイルのid
属性で設定されるアプリケーションの一意のID。Androidデバイスにデプロイされる各アプリケーションには、一意のIDがあります。このIDを数字から始めることはできません。詳細は、第5.3項「ADFモバイル・アプリケーションの基本情報の設定」を参照してください。
必要な場合は、デプロイメント・ファイルでこの値をオーバーライドできます。ただし、デプロイするアプリケーションでは、この名前は、Androidマニフェスト・ファイルの<manifest>
要素のpackage
属性に従う必要があります。この詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/manifest/manifest-intro.html
)を参照してください。具体的には、IDには、インターネット・ドメイン(com.company.application)のリバースパッケージ書式を使用します。ネーミングの競合を避けるために、パッケージ名にはドメインの所有者が反映されます(例: com.oracle.application)。
注意: アプリケーション・バンドルIDに空白を含めることはできません。 |
バージョン名: ユーザーに表示されるアプリケーション・コードのリリース・バージョン。第5.3項「ADFモバイル・アプリケーションの基本情報の設定」も参照してください。
バージョン・コード: アプリケーション・コードのバージョンを表す整数値。これは、他のアプリケーションによってプログラムで、アップグレードかダウングレードかチェックされます。デフォルトは1で、これが最小の値です。任意の値を選択し、リリースごとに1つずつ値を増やすことができます。
「オプション」ページでは、javac
コンパイラ・ツール・オプションによって渡される値、zipalignオプションおよびAndroid APIリビジョンを設定できます。
R.javaファイルと.classファイルのJDK互換性レベルを設定するには:
「ソース・ファイル」ドロップダウン・リストからJDK互換性レベルを選択します。デフォルト値は1.5です。この値は、デプロイメントでjavac
ツールを実行し、javac
-source
オプションを使用してR.java
(アプリケーション・リソースの参照用にAndroidによって生成されたファイル)をコンパイルする際に指定されます。次の値を使用できます。
1.5
1.6
R.java
の詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/resources/accessing-resources.html
)を参照してください。
「クラス・ファイル」ドロップダウン・リストから、コンパイルされた.class
ファイルのJDKバージョンの互換性を選択します。この値は、デプロイメントでjavac
ツールを実行し、javac
-target
オプションを使用してR.java
ファイルをコンパイルする際に指定されます。デフォルト値は1.5です。次の値を使用できます。
1.5
1.6
「ターゲットSDK APIレベル」ドロップダウン・リストから、アプリケーションが実行されるAPIレベルを選択します。最小(デフォルト)値はAPIレベル9で、これはAndroid 2.3.nプラットフォームに対応します。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/manifest/manifest-intro.html
)で、Androidマニフェスト・ファイルの<uses-sdk>
属性の説明を参照してください。
「最小SDK APIレベル」ドロップダウン・リストから、アプリケーションが実行できる最小APIレベルを選択します。最小(デフォルト)値は9で、これはAndroid 2.3.nプラットフォームに対応します。
「文字エンコーディング」ドロップダウン・リストから、コンパイラがASCIIキャラクタ・セット以外の文字を解釈する方法を制御するネイティブエンコーディング名を選択します。デフォルトはUTF-8です。
ZIP位置合せオプションを設定するには:
バイト位置合せ(32ビットまたは64ビット)を選択します。32ビット(デフォルト)を選択すると、4バイト境界の位置合せが提供されます。
ロギング・レベルを設定するには、次のようにします。
Androidデプロイメントに「詳細出力」を選択して、.apk
のビルド時にデプロイメントによって起動される各コマンドライン・ツールによって提供される全出力をログに記録します。このオプションを選択しないと、デプロイメントですべての出力がログに記録されません。
アプリケーションは、Androidデバイスまたはエミュレータにデプロイする前に、署名する必要があります。Androidでは、認証局は不要です。アプリケーションは自己署名できます。
デプロイメントにおけるADFモバイル・アプリケーションの署名方法の定義は、2つの手順で構成されます。まず、「ADFモバイル」の「プラットフォーム」プリファレンス・ページで、Androidアプリケーションの署名に使用されるキーのデバッグおよびリリース・プロパティを定義します。デバッグおよびリリースの署名プロパティは、一度構成するのみでかまいません。これらのオプションを定義したら、デプロイメント・プロファイルを構成して、デバッグ・モードとリリース・モードのどちらでアプリケーションをデプロイするかを指定します。
始める前に:
詳細は、Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html
)で、リリース・モードとデバッグ・モードでの署名の説明を参照してください。
デバッグ・モードまたはリリース・モードのキー・オプションを構成するには:
「ツール」→「プリファレンス」→「ADFモバイル」を選択します。
「プラットフォーム」を選択します。
「デバッグ」タブ(図16-7を参照)を選択します。
「キーとキーストア・パスワード」フィールドに、デバッグ・デプロイメントに必要なキーストア・ファイルとキーを作成するためにデプロイメントで使用されるパスワードを入力します。Androidデバイスまたはエミュレータへのデプロイメント用のキーストアとキーファイルを生成するこのパスワードには、6文字以上の長さであれば、任意の値を指定できます。デフォルトのパスワードはAndroidです。
「リリース」タブ(図16-5を参照)を選択して、次を定義します。
キーストアの場所: 秘密鍵を含むキーストアのディレクトリを入力します。
キーストア・パスワード: キーストアのパスワードを入力します。
キーの別名: キーの別名を入力します。別名の最初の8文字のみが使用されます。
キー・パスワード: キーのパスワードを入力します。
これらのパラメータでは、アプリケーションの署名方法の指定に加え、R.Java
クラスのコンパイル方法も指定します。詳細は、第16.2.3.6項「AndroidエミュレータまたはAndroidデバイスにアプリケーションをデプロイする場合のJDeveloperでの処理」を参照してください。
「OK」をクリックします。
Androidビルド・モードを設定するには:
ビルド・モードとして「デバッグ」または「リリース」を選択します。
アプリケーションの開発やテストを行う際は「デバッグ」を選択します。このオプションを使用すると、秘密鍵を提供しなくても、Androidプラットフォーム上でアプリケーションをデプロイできます。Androidエミュレータまたはテスト用のAndroidデバイスにアプリケーションをする場合は、このオプションを使用します。
注意: デバッグ・キーストアおよびキーで署名されたアプリケーションは公開できません。デバッグ・キーストアおよびキーは、テストのみに使用され、エンド・ユーザーへのアプリケーションの公開には使用できません。 |
アプリケーションを公開する準備ができた場合は、「リリース」を選択します。このオプションは、アプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開する準備ができた場合に使用します。
「OK」をクリックします。
デバッグ・モードまたはリリース・モードで署名された.apk
ファイルは、デバイスまたはエミュレータにデプロイできます。
サイズや解像度の異なるAndroidデバイス上でADFモバイル・アプリケーション・アイコンが適切に表示されるようにするには、同じイメージの低密度、中密度および高密度バージョンを用意する必要があります。ADFモバイルは、これらの表示要件を満たすデフォルトOracleイメージを提供します。ただし、アプリケーションでカスタム・アイコンが必要とされる場合は、「アプリケーション・イメージ」ページ(図16-8を参照)を使用して、アプリケーション・アイコンとスプラッシュ画面用のPNG形式のイメージを選択することで、デフォルト・イメージをオーバーライドできます。スプラッシュ画面には、縦向きと横向きのイメージを追加できます。カスタム・イメージ・ファイルを追加しない場合は、デフォルトのOracleアイコンが使用されます。カスタム・イメージを作成する際は、Android開発者のWebサイト(http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
)で説明されているアイコン・デザイン・ガイドラインに従ってください。
始める前に:
Androidのテーマに適したディメンション、密度およびコンポーネントを使用することに加え、複数の画面タイプをサポートすることが可能なPNG、JPEGまたはGIFファイル形式のイメージを取得します。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/practices/screens_support.html
)を参照してください。
カスタム・イメージを追加するには:
「アプリケーション・イメージ」をクリックします。
「参照」機能を使用して、プロジェクト・ファイルからスプラッシュ画面およびアイコン・イメージ・ファイルを選択します。図16-8には、低密度、中密度、高密度および超高密度ディスプレイを装備するデバイスでの表示にアプリケーションで使用されるアプリケーション・アイコンのイメージと縦向きのスプラッシュ画面用のイメージを選択する様子が示されています。図16-9では、スプラッシュ画面イメージに対して「横」タブが選択されています。これによって、低密度、中密度、高密度および超高密度ディスプレイを装備するデバイス用にアプリケーションで使用する横向きのスプラッシュ画面イメージを追加できます。これらのファイルは、ADFモバイル・アプリケーション内の任意の場所に配置できます。
「OK」をクリックします。
デプロイメントの際、ADFモバイルにより、JDeveloperは、ソースの場所から一時デプロイメント・フォルダにイメージをコピーできます。ADFモバイル拡張機能に付属のデフォルト・イメージ(workspace_directory
\Application Resources\Resources\images
内)の場合は、JDeveloperはシードされた場所から、ビュー・コントローラ・プロジェクトのデプロイメント・サブディレクトリ(workspace_directory
\ViewController\deploy
)にコピーします。表16-2に示されているように、各イメージ・ファイルは、drawable
オブジェクトにちなんで名付けられたdrawable
というサブディレクトリにコピーされます。詳細は、Android開発者のWebサイト(http://developer.android.com/reference/android/graphics/drawable/Drawable.html
)を参照してください。それぞれのdrawable
ディレクトリは、イメージ密度(ldpi
、mdpi
、hdpi
およびxhdpi
)と向き(port
、land
)に対応します。これらのディレクトリ内で、JDeveloperは、各アイコン・イメージ・ファイルの名前をadfmf_icon.png
に、各スプラッシュ画面イメージの名前をadfmf_loading.png
に変更します。
表16-2 シードされたアプリケーション・イメージのデプロイメント・ファイルの場所
ソース・ファイル(...\resource\Android) | 一時デプロイメント・ファイル(...ViewController\deploy) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム・イメージの場合、JDeveloperは、アプリケーション・アイコンのセットを指定の場所から一時デプロイメントの場所の対応する密度と向きのサブディレクトリにコピーします。
Androidデバイスへの実行時デプロイメントの場合、デプロイヤは次を実行します。
選択されたすべてのデプロイメント・オプションを検証します。
このデプロイメント・プロファイルの既存のテンプレートをすべて削除します。
Oracle_ADFmf_Framework.zip
からAndroidテンプレートを解凍します。
テンプレートに提供されているAndroidManifest.template.xml
ファイルからAndroidManifest.xml
ファイルを作成します。
adfmf-application.xml
ファイルとadfmf-feature.xml
ファイルの内容から、Androidのpreferences.xml
ファイル、strings.xml
ファイルおよびarrays.xml
ファイルを生成します。詳細は、第B.2項「Android用のプリファレンスの変換」を参照してください。
Android Asset Packaging Tool(Windowsの場合はaapt.exe
、Macの場合はappt
)を起動して、R.java
ファイルと最初のAndroidアプリケーション・パッケージ・ファイル(.apk
)を生成します。
外部のJDeveloperプロジェクトのコンパイル・プロセスからjavac
を起動して、R.java
ファイルをコンパイルします。このファイルはAndroid JVM内で実行されるので、JDKバージョン1.5以上を使用してコンパイルする必要があります。
依存性を分析および評価します。JVM 1.4 JDKを使用して、ユーザーが追加した.java
コードをコンパイルします。これらのファイルはJDKでコンパイルする必要があり、JVM 1.4で実行されます。
.class
ファイルまたは.class
ファイルを含むアーカイブ互換ファイルからDalvikバイト・コードを生成するAndroidツール(dex.bat
)を起動します。AndroidテンプレートJARファイルの内容も含まれます(phonegap.jar
、container.jar
およびksoap.jar
)。
Android Asset Packaging Tool(aapt.exe
)ツールを起動して、手順6で作成されたアプリケーション・ファイルをDalvikバイト・コード・ファイルで更新します。
デバッグモードのデプロイメント用のキーストアとキーを作成します。
Androidアプリケーション・ファイルに署名します。
アプリケーションの位置合せを行います(リリースモードのデプロイメントの場合)。
Androidデバッグ・ブリッジ(Windowsの場合はadb.exe
、Macの場合はadb
)ツールを起動して、Androidデバイスにアプリケーションをデプロイします。
iOSの場合は、デプロイメント・プロファイルのプロパティ・エディタを使用して、iOSアプリケーションのビルド構成と、スプラッシュ画面イメージおよびアプリケーション・アイコンの場所を定義できます。
始める前に:
JDeveloperも実行されているAppleコンピュータに、Xcode 4.2以降をダウンロードします。Xcodeには、Xcode IDE、パフォーマンス分析ツール、iOSシミュレータ、Mac OS XおよびiOS SDKが含まれています。Xcodeはデプロイメント時に使用されるので、JDeveloperからADFモバイル・アプリケーションをデプロイする前にAppleコンピュータにインストールする必要があります。Xcodeのダウンロードの詳細は、次を参照してください。
http://developer.apple.com/xcode/
Xcodeをダウンロードしたら、「ADFモバイル」の「プラットフォーム」プリファレンス・ページで、そのxcodebuildツールの場所を入力する必要があります。iOSシミュレータへのデプロイメントの場合は、iOSシミュレータのSDKの場所も入力します。詳細は、第3.3.1項「プラットフォームとフォーム・ファクタに応じた開発環境の構成方法」を参照してください。
ADFモバイル・アプリケーションを(iOSシミュレータではなく)iOSデバイスにデプロイするには、iOSプロビジョニング・プロファイルからプロビジョニング・プロファイルと証明書の両方を取得する必要があります。詳細は、第16.2.4.2項「デバイス署名オプションの設定」を参照してください。
デプロイメント・プロファイルを作成する手順は、次のとおりです。
「iOSオプション」(図16-10を参照)を選択します。
デフォルト値をそのまま使用するか、次を定義します。
アプリケーション・バンドルID: 必要な場合は、このアプリケーションで使用する、会社のドメイン名を特定するバンドルIDを入力します。アプリケーション・バンドルIDは、iOSデバイスにインストールされた各アプリケーションに対して一意であることと、『iOS Development Workflow Guide』の「Application ID Errors」の項で説明されているリバースパッケージ・スタイルのネーミング規則に従うことが必要です(つまり、com.<organization name>.<company name>)。iOS Provisioning Portalを使用したバンドル・シードIDの取得の詳細は、第16.4.4.3項「アプリケーションIDの登録」を参照してください。また、第5.3項「ADFモバイル・アプリケーションの基本情報の設定」も参照してください。
注意: アプリケーション・バンドルIDに空白を含めることはできません。 |
それぞれのアプリケーション・バンドルIDは一意であるため、複数のADFモバイル・アプリケーションを同じデバイスにデプロイできます。アプリケーション・バンドルIDさえ異なっていれば、2つのアプリケーションに同じ名前を指定できます。同じデバイスにデプロイされるモバイル・アプリケーションは、それぞれ別のサンドボックスに配置されます。アプリケーションが相互に認識したり、データを共有することはありません(デバイス・スコープのみが共通になります)。
アプリケーション・アーカイブ名: 必要な場合は、「デプロイメント・アクション」ダイアログ(図16-21を参照)で「配布パッケージにデプロイ」オプションまたは「デバイスとの同期のためにiTunesにデプロイ」オプションを選択したときにADFモバイルによって作成される.ipa
ファイルの名前を入力します。または、デフォルトの名前を使用します。詳細は、第16.4.2項「iOSデバイスへのアプリケーションのデプロイ方法」と第16.4.5項「iTunesへのiOSアプリケーションの配布方法」を参照してください。
ADFモバイルのデフォルトでは、.ipa
ファイルの名前は、adfmf-application.xml
ファイルで構成されているアプリケーションのid
属性に基づいて付けられます。詳細は、第5.3項「ADFモバイル・アプリケーションの基本情報の設定」を参照してください。
最小iOSバージョン: アプリケーションをデプロイできるiOSバージョンの中で、最も古いものを指定します。デフォルト値は現在のバージョンです。バージョンは、インストールされているSDKのバージョンによって異なります。ADFモバイルによってサポートされる最低バージョンは5.0です。
シミュレータ・ターゲット・バージョン: アプリケーションをデプロイするエミュレータのバージョンを選択します。使用可能なターゲット・バージョンを確認するには、iPhoneシミュレータで「Hardware」→「Version」を選択します。最低バージョンは5.0です。デフォルト設定は「最大使用可能」です。また、iOS Developer Library(http://developer.apple.com/library/ios/navigation/
)から入手可能な『Tools Workflow Guide for iOS』の「Using iOS Simulator」の章も参照してください。
注意: 通常は、iOSターゲット・バージョンより古いバージョンをテスト用のシミュレータで使用できます。 |
ターゲット・ファミリ: アプリケーションを実行するiOS製品ファミリを選択します。デフォルト・オプションはiPadとiPhoneの両方です。
iOSビルド・オプションでは、デバッグまたはリリース・ビットとライブラリによりアプリケーションをデプロイできます。「オプション」ページには、iOS署名モードの構成オプション、デバッグ・モードとリリース・モードが表示されます。
始める前に:
iOSアプリケーション(.ipa
ファイル)をiOSデバイスにデプロイするには、インストールの必須コンポーネントであるプロビジョニング・プロファイルと、デバイス上の開発者とアプリケーションを特定する署名済証明書が必要です。これらはiOS Provisioning Portalから取得する必要があります。詳細は、第16.4.4項「iOSデバイスへのアプリケーションのデプロイについて」を参照してください。さらに、「ADFモバイル」の「プラットフォーム」プリファレンス・ページで、プロビジョニング・プロファイルの場所と証明書の名前を入力する必要があります。詳細は、第16.2.4.2項「デバイス署名オプションの設定」を参照してください。
ビルド・オプションを設定するには:
「iOSオプション」を選択します(図16-10を参照)。
次のいずれかのビルド・オプションを選択します。
デバッグ: 開発用のビルドの場合はこのオプションを選択します。デバッグ・ビルドを指定すると、デバッグ・シンボルが含まれます。第18.3.1項「iOSプラットフォームでのデバッグ方法」も参照してください。
リリース: リリース・ビットおよびライブラリを使用してビルドをコンパイルする場合に選択します。
iOSの「ADFモバイル」の「プラットフォーム」プリファレンス・ページには、開発コンピュータ上でのプロビジョニング・プロファイルの場所と証明書の名前のフィールドが含まれています。iOSデバイスにアプリケーションをデプロイする場合は、これらのパラメータを定義する必要があります。
注意: ADFモバイル・アプリケーションをiOSシミュレータにデプロイする場合は、証明書とプロビジョニング・プロファイルのいずれも不要です。 |
署名オプションを設定するには:
「ツール」→「プリファレンス」→「ADFモバイル」を選択します。
「プラットフォーム」→「iOS」を選択します。
ページの「デバイス署名」セクション(図16-11を参照)で、「プロビジョニング・プロファイル」フィールドにプロビジョニング・プロファイルの場所を入力します。
「証明書」フィールドに、コードの作成者(開発者や会社など)を特定する開発者または配布証明書の名前を入力します。証明書の名前は、Keychain Accessユーティリティ(Applicationsフォルダからアクセス)を使用して表示できます。Keychain Accessユーティリティから名前全体をコピーしてください。「証明書」フィールドに入力する名前は、次の書式に従う必要があります。
iPhone Developer: John Smith (PN3ENLQ3DU)
注意: プロビジョニング・プロファイルには、アプリケーションの開発バージョン用とリリース・バージョン用の両方があります。アプリケーションのリリース・バージョンに使用されるプロビジョニング・プロファイルは、あらゆるデバイスにインストールできます。一方、開発バージョン用のプロビジョニング・プロファイルは、IDがプロファイルに埋め込まれたデバイスのみにインストールできます。詳細は、iOS Developer Library( |
「アプリケーション・イメージ」ページでは、アプリケーション・アイコンに使用するデフォルトのOracleイメージを、カスタム・イメージでオーバーライドできます。図16-13に示されているこのページのオプションでは、様々な状況、デバイスの向きおよびデバイスの解像度で使用されるカスタム・イメージの場所を入力できます。iOSアプリケーション・アイコン・イメージの詳細は、『iOS App Programming Guide』の「Application Icons」と「Providing Launch Images for Different Orientations」の項および『iOS Human Interface Guidelines』の「Custom Icon and Image Creation Guidelines」の項を参照してください。これらのドキュメントはiOS Developer Library(http://developer.apple.com/library/ios/navigation/
)から入手できます。
注意: すべてのイメージはPNG形式であることが必要です。 |
カスタム・イメージを追加するには:
「アプリケーション・イメージ」をクリックします。
アイコン上部に光沢効果のあるデフォルトのiOSスタイルのアイコンを使用しない場合は、「アイコンに光沢効果を追加しない」を選択します。図16-12に光沢効果を示します。
「参照」を選択して、次のイメージを選択します。
iTunesArtwork: アイコン・イメージを参照および選択して、iTunesによって.ipa
ファイルに割り当てられるデフォルトのAppleイメージをオーバーライドします。このイメージはすべてのアプリケーションに必要とされ、iPhoneアプリケーションとiPadアプリケーションのどちらも512 x 512ピクセルであることが必要です。詳細は、第16.2.4.4項「iTunesArtworkについて」を参照してください。
アプリケーション・アイコン: iPhoneとiPadのアイコン・イメージの場所か、Retinaディスプレイ搭載デバイスで使用されるこれらのイメージの場所を入力します。ファイル名は、Retinaバージョンと非Retinaバージョンのアイコンの両方で同じであることが必要です。iPhoneアイコンの場合、ADFモバイル・デプロイメント・フレームワークでは、Retinaイメージのファイル名に@2x修飾子を追加することで、この2つを区別します。iPad Retinaディスプレイの場合は、関連するイメージのディメンション(144 x 144ピクセル)を反映して、ファイル名に-144が追加されます。非Retina iPadディスプレイの場合も同様に、iPadアイコン・ファイル名に-72という修飾子を追加して、イメージのディメンション(72 x 72ピクセル)を示します。表16-3に、デバイス固有のアプリケーション・イメージに必要なディメンション(ピクセル単位)をリストします。
スプラッシュ画面イメージ: アプリケーションの起動時に使用されるイメージの場所を入力します。iPhoneの場合、このイメージにはDefault.png
という名前を付ける必要があります。デバイスのタイプと向きに応じて、縦向きまたは横向きのバージョン用に選択されたイメージによってこのイメージをオーバーライドできます。ADFモバイル・デプロイメント・フレームワークでは、PortraitおよびLandscape修飾子がファイル名に追加されます。また、Retinaディスプレイで使用されるイメージのファイル名には、@2xが追加されます。表16-4に、スプラッシュ画面のイメージに必要なディメンション(ピクセル単位)をリストします。
「OK」をクリックします。
デフォルトでは、iTunesを通してiOSデバイスにデプロイされる、またはダウンロード用のアーカイブ(.ipa
ファイル)としてデプロイされるADFモバイル・アプリケーションでは、別途指定されていないかぎり、図16-12に示されたデフォルトのOracleイメージが使用されます。
デプロイされるアプリケーションのアイコンとしてiTunesArtworkイメージを選択することで、デフォルトのイメージをオーバーライドします。イメージを使用してアプリケーションのバージョンを区別できます。図16-14に、デフォルト・イメージとユーザーが選択したイメージの違いを示します。Application4にはデフォルト・イメージが、Application6にはユーザーが選択したイメージ(512 x 512ピクセルにスケールを変更したOracleアイコン)が表示されています。
デプロイメント時に、ADFモバイルは、.ipa
ファイルのトップレベルのiTunesArtworkというファイルにそのiTunesのアートワーク・イメージを追加することで、iTunesでそのアイコンが表示されるようにします。
デフォルトで、ADFモバイルは、iPhoneとiPadの両方ですべての向きをサポートします。たとえば、iPads上で上下逆の縦向きでのみ表示する必要があるアプリケーションでは、「デバイスの向き」ページ(図16-15を参照)を使用して、アプリケーションの回転をこれらの向きのみに制限できます。
アプリケーションの表示をデバイスの特定の向きに制限するには:
デプロイメント・プロファイルを定義したら、「デプロイメント・アクション」ダイアログ(図16-16を参照)を使用してAndroidプラットフォームにADFモバイル・アプリケーションをデプロイできます。このダイアログを使用すると、完了したアプリケーションを、Androidエミュレータまたはテスト用のAndroidデバイスにデプロイできます。アプリケーションのテストとデバッグが完了したら、このダイアログを使用して、ADFモバイル・アプリケーションをAndroidアプリケーション・パッケージ・ファイル(.apk
)としてバンドルできます。これによって、アプリケーション・マーケットプレイス(Google Playなど)を通して、アプリケーションをエンド・ユーザーに公開することが可能になります。
ヒント: 「デプロイメント・アクション」ダイアログのかわりに、OJDeployコマンドライン・ツールを使用してADFモバイル・アプリケーションをAndroidプラットフォームに手動でデプロイすることもできます。詳細は、第16.6項「コマンドラインからのADFモバイル・アプリケーションのデプロイ」を参照してください。 |
ADFモバイル・アプリケーションはAndroidエミュレータに直接デプロイできます。
始める前に:
Androidエミュレータにデプロイするには、次を行う必要があります。
「ADFモバイル」の「プラットフォーム」プリファレンス・ページ(「ツール」→「プリファレンス」→「ADFモバイル」を選択してアクセス)で、デバッグ・パスワードを構成します。
注意: Android 4.0.nプラットフォーム(API 14以降)をインストールする必要があります。 |
Android Virtual Deviceインスタンスの構成にARMシステム・イメージが反映されていることを確認します。
デプロイメント・プロファイルの「Androidオプション」ページで、次を行います。
「デバッグ」が選択されていることを確認します。
「OK」をクリックします。
注意: 「ADFモバイル」の「プラットフォーム」プリファレンス・ページは、デバッグ・モードのデプロイメント用のキーストアとキーの生成に使用されるパスワードで構成する必要があります。詳細は、第16.2.3.3項「Android署名オプションの定義」を参照してください。 |
アプリケーションをデプロイする前にAndroidエミュレータを起動します。
エミュレータは、Android Virtual Device Manager(図16-17を参照)またはコマンドラインを使用して起動できます。コマンドラインから起動する場合は、tools
ディレクトリ(Android\android-sdk
内)に移動し、emulator -avd
に続けてエミュレータ名を入力することで(例: -avd AndroidEmulator1
)、エミュレータを起動します。
注意: デプロイメント時にはAndroidエミュレータを1つのみ実行できます。 |
アプリケーションをAndroidエミュレータにデプロイするには:
「アプリケーション」→「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
「アプリケーションのエミュレータへのデプロイ」→「次へ」を選択します。
「サマリー」ページ(図16-2を参照)をレビューし、「戻る」を選択して別のデプロイメント・アクティビティを選択するか、「終了」を選択します。「サマリー」ページには、デプロイメント・プロファイルの次のパラメータが表示されます。
アプリケーション・バンドルID: アプリケーションを特定する、Java言語のような一意のパッケージ名。
注意: 図16-18の「サマリー」ページには、アプリケーション・バンドルIDが、エミュレータへのデプロイメントの成功に必要なリバースパッケージ書式であることが示されています。リバースパッケージ書式に従わないアプリケーションをデプロイすると、エミュレータが停止して、デプロイメントを完了できなくなります。 |
ファイル: Androidターゲットにデプロイされる.apk
の名前。
デプロイ・モード: ビルド・モード。この値は、デプロイメント・プロファイルに設定されている値に応じて、「リリース」と「デバッグ」のいずれかになります。
デプロイメント・ログをレビューします(図16-19を参照)。デプロイメント・ログには、デプロイヤがAndroidエミュレータの実行中インスタンスを検出し、Androidデバッグ・ブリッジ・サーバーを起動したことが示されます。第16.3.6項「Androidデバッグ・ブリッジの使用方法について」も参照してください。
ADFモバイル・アプリケーションは、2.n (APIレベル9)以降のプラットフォーム上で動作するAndroidデバイスに直接デプロイできます。
始める前に:
第3.5.3項「Androidデバイスの設定方法」の説明に従って、JDeveloperをホストする開発コンピュータにデバイスを接続します。
デプロイメント・オプション・ページ(図16-6を参照)で、ビルド・モードとして「デバッグ」を選択します。図16-7に示されているように、デバッグ署名資格証明が「ADFモバイル」の「プラットフォーム」ページで構成されていることを確認します。
Androidデバイスにアプリケーションをデプロイするには:
「アプリケーション」→「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
「アプリケーションのデバイスへのデプロイ」→「次へ」を選択します。
「概要」ページを確認します。「戻る」または「次へ」をクリックします。
「終了」をクリックします。
第18章「ADFモバイル・アプリケーションのテストとデバッグ」の説明に従ってアプリケーションのテストとデバッグが完了したら、Android開発者のWebサイト(http://developer.android.com/tools/publishing/publishing_overview.html
)の説明に従ってアプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開できます。
始める前に:
デプロイメント・プロファイルの「Androidオプション」ページで、ビルド・モードとして「リリース」を選択します。
注意: 「ADFモバイル」の「プラットフォーム」プリファレンス・ページ(「ツール」→「プリファレンス」→「ADFモバイル」を選択してアクセス)で、署名オプションを構成する必要があります。詳細は、第16.2.3.3項「Android署名オプションの定義」を参照してください。 |
.apkファイルとしてアプリケーションをデプロイするには:
「アプリケーション」→「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
「アプリケーションのパッケージへのデプロイ」→「次へ」を選択します。
「サマリー」ページ(図16-18を参照)をレビューします。「戻る」または「次へ」をクリックします。
「終了」をクリックします。
アプリケーション・マーケットプレイスにアプリケーションを公開します。
アプリケーションをデプロイすると、次のものが.apk
ファイルにデプロイされます。
adfmsrc
の内容
.adf
フォルダの内容
adfmf-application.xml
ファイルとadfmf-feature.xml
ファイル
logging.properties
ファイル
JVM 1.4ファイル
表16-6 .apkファイルの内容
内容 | .apkファイル内の場所 |
---|---|
|
Androidアプリケーション・ファイルのルート・フォルダ( |
|
デプロイメントでは、 このJARファイルには次が含まれます。
このJARファイルはDalvik仮想マシンによって処理されません。 |
|
Configurationというファイル( |
|
アプリケーション・ファイルのルートにあります。 |
JVM 1.4ファイル |
JVMファイルは次の2つの別個のフォルダにパッケージ化されます。
|
デプロイメント・アクションを選択すると、JDeveloperによって「デプロイ」メニューにショートカットが作成されます。このショートカットを使用すると、同じデプロイメント・アクションを使用してアプリケーションを簡単に再デプロイできます。
デプロイメントでは、デバイス(デバイスにデプロイする場合)またはエミュレータ(Androidエミュレータにデプロイする場合)が検出されるまで、Androidデバッグ・ブリッジ・サーバーが5回再起動されます。どちらも検出されない場合、図16-20に示すとおり、デプロイメント・プロセスは終了します。
デプロイメント前にAndroidデバッグ・ブリッジ・コマンドライン・ツールを使用する場合は、デプロイメントの完了後に同じコマンドを再度入力する必要があります。たとえば、デプロイメントの前にエミュレータまたはデバイスのロギング情報を表示するためにadb logcat
と入力した場合、ロギング出力の取得を再開するには、アプリケーションがデプロイされた後で再度adb logcat
と入力する必要があります。Androidデバッグ・ブリッジ・コマンドライン・ツールは、Android SDKインストールのplatform-tools
ディレクトリ内に配置され、ここから実行されます。このツールの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/help/adb.html
)を参照してください。
図16-21に示された「デプロイメント・アクション」ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイするか、iTunesを通してデバイスにデプロイできます。iOSアプリケーションはAppleコンピュータからのみデプロイできます。
ヒント: 「デプロイメント・アクション」ダイアログのかわりに、OJDeployコマンドライン・ツールを使用してADFモバイル・アプリケーションをAndroidプラットフォームに手動でデプロイすることもできます。詳細は、第16.6項「コマンドラインからのADFモバイル・アプリケーションのデプロイ」を参照してください。 |
「デプロイメント・アクション」ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイできます。
始める前に:
iOSシミュレータへのデプロイメントを可能にするには、次のタスクを実行する必要があります。
「ADFモバイル」の「プラットフォーム」プリファレンス・ページで、iOSシミュレータのSDKの場所を設定します(図16-23を参照)。
デプロイメント・プロファイルの「iOSオプション」ページで、「デバッグ」を選択し、「OK」をクリックします。
注意: 「ADFモバイル」の「プラットフォーム」ページ(「ツール」→「プリファレンス」→「プラットフォーム」を選択してアクセス)で、プロビジョニング・プロファイルの場所と証明書の名前を入力する必要があります。詳細は、第16.2.4.2項「デバイス署名オプションの設定」を参照してください。 |
Xcodeをインストールして実行し、ライセンス契約を受諾して、指示に従ってインストール後のその他のタスクを実行します。
注意: アプリケーションをiOSシミュレータにデプロイする前に、最低1回はXcodeを実行する必要があります。これを行わないと、デプロイメントに失敗します。 |
『iOS Development Workflow Guide』の「Using iOS Simulator」の項を参照してください。iOSシミュレータはXcodeとともにインストールされます。実際のデバイスへのデプロイメントについては、『iOS Development Workflow Guide』の「Managing Devices and Digital Identities」の項を参照してください。
iOSシミュレータが実行されている場合は、これを停止します。
iOSシミュレータにアプリケーションをデプロイするには:
「アプリケーション」→「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
「アプリケーションのシミュレータへのデプロイ」→「次へ」を選択します。
「サマリー」ページ(図16-22を参照)をレビューします。このページには、次の値が表示されます。「終了」をクリックします。
アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。
ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。
証明書: アプリケーションを作成した開発者または会社。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
注意: iOSシミュレータへのデプロイメントでは、証明書とプロビジョニング・プロファイルの値を定義する必要はありません。このデプロイメント・シナリオでは、「サマリー」ページでこれらの値について<指定なし>と表示されます。 |
「デバイスとの同期のためにiTunesにデプロイ」オプションを使用すると、ADFモバイル・アプリケーションをデバッグおよびテスト用のAppleデバイスにデプロイできます。
始める前に:
JDeveloperからiOSデバイスにアプリケーションを直接デプロイすることはできません。アプリケーションは、Apple iTunesのApplicationsフォルダからデプロイする必要があります。そのためには、次のタスクを実行する必要があります。
開発コンピュータにApple iTunesをダウンロードし、ADFモバイルのプラットフォームのプリファレンス・ページでAutomatically Add to iTunes
フォルダの場所(アプリケーションのデプロイメントに使用される場所)を設定します(図16-23を参照)。
ヒント: ユーザーのホーム・ディレクトリ(
手順の詳細は、Apple Support( 「ADFモバイル」の「プラットフォーム」プリファレンス・ページでも場所を更新する必要があります。 |
xcodebuildツールが起動されるXcodeフォルダの場所を設定します(例: 図16-23の/Developer/usr/bin
)。
証明書の名前とプロビジョニング・プロファイルの場所を、「ADFモバイル」の「プラットフォーム」プリファレンス・ページで入力します。iOS Provisioning Portalによって、iOSデバイスへのデプロイメントまたはApp Storeや内部ダウンロード・サイトへの.ipa
ファイルの公開に必要な証明書とプロビジョニング・プロファイルが生成されます。
注意: デバイスまたはアーカイブにデプロイするようにiOSプロビジョニング・プロファイルと証明書を設定しないと、デプロイメントは失敗します。ADFモバイルでは、このような状況でデプロイできなかったアプリケーションがログに記録されます。詳細は、第16.4.4項「iOSデバイスへのアプリケーションのデプロイについて」を参照してください。 |
デプロイメント・プロファイルの「iOSオプション」ページで、ビルド・モードとして「デバッグ」を選択し、「OK」を選択します。
iOSデバイスにアプリケーションをデプロイするには:
「アプリケーション」→「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
「デバイスとの同期のためにiTunesにデプロイ」→「次へ」を選択します。
「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。
ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。
証明書: アプリケーションを作成した開発者(または会社)。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
注意: 証明書とプロビジョニング・プロファイルの値を<指定なし>とすることはできません。iTunesへのデプロイメントを可能にするには、「オプション」ページでこれらの値を指定する必要があります。 |
iOSデバイスを開発コンピュータに接続します。
iTunesを開いてデバイスを同期化します。
iOS Development Programのメンバーのみがアクセス可能なiOS Provisioning Portalを使用して最初にプロビジョニング・プロファイルを作成しないかぎり、iOSアプリケーション(つまり、.ipa
ファイル)をiOSデバイスにデプロイしたり、App Storeまたは内部のホストされたダウンロード・サイトに公開することはできません。第16.2.4.2項「デバイス署名オプションの設定」の説明に従って、「オプション」ページでプロビジョニング・プロファイルの場所と証明書の名前を入力します。
『Tools Workflow Guide for iOS』の「Distributing Apps」の章で説明されているように、プロビジョニング・プロファイルによって開発用証明書、デバイスおよびアプリケーションIDが関連付けられます。iOS Provisioning Portalでは、これらのエンティティとプロビジョニング・プロファイルを作成できます。
ヒント: プロビジョニング・プロファイルをダウンロードしたら、このファイルをダブルクリックして |
証明書は、開発者のアイデンティティに関する情報と公開鍵および秘密鍵が結合された電子的なドキュメントです。iOS開発用証明書がOS開発者として識別し、デプロイメントのためのアプリケーションの署名を有効にするので、証明書をダウンロードしたら、基本的に開発者自身のアイデンティティを開発コンピュータにインストールします。iOSオペレーティング環境では、すべての証明書がKeychainによって管理されます。
iOS Provisioning Portalの「Certificates」ページを使用して、CSR(証明書署名リクエスト)をログに記録します。CSRを完了すると、iOS Provisioning PortalによってiOS開発用証明書が発行されます。
開発コンピュータに証明書をインストールしたら、「Current Available Devices」タブ(iOS Provisioning Portalの「Devices」ページ内)をレビューして、開発者自身(またはその会社)がテストやデバッグに使用するAppleデバイスを特定します。シリアル番号のような一意のデバイス識別子(UDID)によって各デバイスを識別するこのリストにデバイスが含まれていないかぎり、アプリケーションはデプロイできません。
アプリケーションIDは、デバイス上のアプリケーションの一意の識別子です。アプリケーションIDは、第5.3.1項「モバイル・アプリケーションのIDおよび表示動作の設定方法」で説明されている書式の、バンドルIDと呼ばれる管理者が作成したリバース・ドメイン名の前に、バンドル・シードと呼ばれるAppleが生成した10文字の英数字文字列が付加された構成になります。図16-25には、他のアプリケーションとファイルやKeychainを共有しない、一意のアプリケーションIDが示されています。
一方、ファイルやKeychainを共有する(またはKeychainを使用しない)アプリケーションの場合は、アプリケーション名にワイルドカード文字(*)を使用します(例: 8E549T7128.com.oracle.*)。この書式を使用すると、一連のアプリケーションで1つのアプリケーションIDを共有できます。たとえば、iOS Provisioning Portal上で管理者がcom.oracle.ADF.*という名前を付けた場合は、異なるアプリケーション(com.oracle.ADF.application1とcom.oracle.ADF.application2)を指定できます。
iOSデバイス上でのアプリケーションのテストとデバッグが終了したら、App Storeまたは内部ダウンロード・サイトを通してより広範なオーディエンスにアプリケーションを配布できます。iTunesにアプリケーションを公開するには、.ipa
ファイルをiTunes Connectに送信する必要があります。これによって、.ipa
ファイルをiTunesに追加して、アプリケーションを更新し、テスト・ユーザーを作成することが可能になります。
始める前に:
アプリケーションを配布する前に、次のタスクを実行する必要があります。
実際のiOSデバイス上でアプリケーションをテストします。第16.4.2項「iOSデバイスへのアプリケーションのデプロイ方法」を参照してください。
iOS Provisioning Portalを通して配布証明書を取得します。
注意: 配布証明書を作成できるのは、チーム・エージェントのみです。 |
.ipa
ファイルをiTunesに配布するための、iTunes Connectアカウントを取得します。詳細は、iOS Development CenterのApp Store Resource Centerにある『Prepare App Submission』を参照してください。具体的には、『App Store Review Guidelines』を確認して、App Review Teamに確実に受け入れられるようにしてください。
必要に応じて、『Tools Workflow Guide for iOS』の「Distributing Apps」の項と『iTunes Connect Developer Guide』の両方を確認してください。どちらのガイドも、iOS Developer Library (http://developer.apple.com/library/ios/navigation/
)から入手できます。
デプロイメント・プロファイルの「iOSオプション」ページで、ビルド・モードとして「リリース」を選択し、「OK」をクリックします。
iOSアプリケーションをiTunesに配布するには:
「アプリケーション」→「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
「配布パッケージにデプロイ」を選択します。
「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。
ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。
証明書: アプリケーションの作成者。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。デプロイメント・プロファイルの「オプション」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
注意: 証明書とプロビジョニング・プロファイルの値は、<指定なし>にはできません。 |
iTunes Connectにログインします。
『iTunes Connect Developer Guide』の「Adding New Apps」と「Using Application Loader」の項で説明されているManage Your ApplicationsモジュールとApplication Loaderを使用して、検討用に.ipa
ファイルをiTunes Connectに送信します。
アプリケーションが承認されたら、『iTunes Connect Developer Guide』の「Creating Test Users」の項でManage Usersモジュールの使用方法を参照してください。多言語アプリケーションをテストするには、アプリケーションのローカライズ対象地域のテスト・ユーザー・アカウントを作成します。
Managing Your Applicationモジュールを使用したバイナリの更新については、『iTunes Connect Developer Guide』の「Editing and Updating App Information」の項を参照してください。
デプロイメント・ウィザードを完了すると、JDeveloperによって次のタスクが実行されます。
前提条件として必要なソフトウェアがインストールされていることを検証します。このようなタスクには、たとえば次のようなものがあげられます。
「プリファレンス」で設定されたiOS SDKへのパスが有効でアクセス可能であることを検証します。
「プリファレンス」で設定されたxcodebuildツール(「ADFモバイル」の「プラットフォーム」ページで設定)へのパスが有効でアクセス可能であることを検証します。xcodebuildツールは、iOSプロジェクトをコンパイルするAppleユーティリティです。
必要に応じて他の検証を実行します。
このデプロイメント・プロファイルの既存のテンプレートをすべて削除して、新しいデプロイメントで前のデプロイメントの構成セットが使用されないようにします。
アプリケーションおよび、アプリケーションとプロジェクトの両方のXMLコンテンツをすべて検証します。
初回(または、「ビルド」→「クリーン」を選択した後)のデプロイメントの場合、JDeveloeprはiOSのOracle_ADFmc_Container_Template
ファイルを一時的な場所に解凍します。つまり、modules\adf-mobile\dist\jdev\extensions\oracle.adf.mobile\Oracle_ADFmc_Container_Template.zip
が、deploy
ディレクトリ内の、プロファイルのサブディレクトリにパッケージ解除されます。
ヒント: 「ビルド」→「クリーン」を選択すると、Xcodeプロジェクト設定を変更できます。この設定によって、JDeveloperで利用可能な追加オプションが提供されます。 |
また、JDevelopeは、modules\adf-mobile\dist\jdev\extensions\oracle.adf.mobile\Oracle_ADFmc_Framework_Libraries.zip
からの必要なADFモバイル・ライブラリを、前に解凍されたテンプレートのFramework
ディレクトリに解凍します。
注意: デプロイメントのタイプ(つまり、デバッグやリリースあるいは、シミュレータやデバイスへのデプロイメントやアーカイブとしてのデプロイメント)に依存するすべてのライブラリは、後でテンプレートに追加されます。 |
テンプレートの場所に、ユーザーが選択したカスタム・イメージをコピーします。デプロイメント・プロファイルでカスタム・イメージが選択されている場合、JDeveloperはこれらのイメージをコピーし、適切な名前に変更します。iOSテンプレートでは、アプリケーション・アイコン名およびスプラッシュ画面名として、icon.png
、icon-2x.png
、icon-72.png
、Default.png
、Default-Landscape.png
およびDefault-Portrait.png
という名前が内部的に使用されます。イメージがカスタマイズされていない場合は、JDeveloperによってデフォルト・イメージがテンプレートにコピーされます。
テンプレートの場所にWebコンテンツ(機能に関連するイメージを含む)をコピーします。この結果、ADFモバイル・プロジェクト内のpublic_html
フォルダとそのサブディレクトリが、テンプレートのwww
フォルダにコピーされます。
メタデータ・ファイルをテンプレートの場所にコピーします。
adfmf-application.xml
ファイルをコピーします。
adfmf-feature.xml
のすべてのファイルを1つのファイルに結合し、テンプレートに配置します。
.plist
ファイルを作成し、更新します。第B.3項「iOS用のプリファレンスの変換」も参照してください。
メタデータ・ファイルから、プリファレンスの.plist
ファイルを作成します。これらのファイルによって、iOS設定アプリケーションから利用できるプリファレンスが作成されます。
アプリケーション名、バンドルID、バージョンおよび事前にレンダリングされたアイコンの使用を決定するフラグによって、root.plist
ファイルを更新します。アプリケーション名、バンドルIDおよびバージョンは、図16-10「iOSオプションの設定」に示す「iOSオプション」ページとadfmf-application.xml
ファイルから取得されます。
選択されたデプロイメント用の適切なフラグを使用して、xcodebuildユーティリティを実行します。たとえば、iOSシミュレータ(バージョン5.0)にデプロイされるデバッグのビルドは次のようになります。
xcodebuild clean install -configuration Debug -sdk iphonesimulator5.0
新たにビルドされたアプリケーションを適切な場所にデプロイします。
iOSシミュレータへのデプロイメントの必要に応じて、iOSアプリケーション・バンドルを、一意のアプリケーション・ディレクトリにコピーします。
xcrun
コマンドを実行し、アプリケーションを.ipa
ファイルにパッケージ化します。このコマンドによって、アプリケーションを含むPayload
というフォルダを持つ.ipa
が作成されます。また、プロビジョニング・プロファイルが追加されて、開発者の名前でアプリケーションが署名されます。xcrun
コマンドの例を次に示します。
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "%PROJECT_BUILDDIR%/SampleApp.app" -o "SampleApp.ipa" --sign "iPhone Developer: John Doe (A1BC2DEFGH)" --embed "/Users/jdoe/Desktop/my_profile.mobileprovision"
デバイスへのデプロイメントの場合、JDeveloperは.ipa
ファイルをiTunes Media/Automatically Add to iTunes
ディレクトリに移動します。
ADFモバイルのビュー・コントローラ・プロジェクトによる再利用を可能にするために、アプリケーション機能(一般的に、ADFモバイルAMXまたはローカルHTMLとして実装されるもの)は、機能アーカイブ(FAR)というアーカイブにバンドルされます。FARは基本的に、ADFモバイル・アプリケーションによって使用できる、アプリケーション機能要素(例: アイコン・イメージ、リソース・バンドル、HTML、JavaScriptまたは他の実装固有のファイル)の自己完結型コレクションです。(FARには、Javaクラスを含めることも可能ですが、これらのクラスはコンパイルする必要があります。)例16-1に、1つのadfmf-feature.xml
ファイルと1つのconnections.xml
ファイルを含むFARの内容を示します。connections.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のconnections.xmlに関する項とアプリケーション・コンポーネントの再利用に関する項を参照してください。
例16-1 機能アーカイブ・ファイルの内容
connections.xml (or some form of connection metadata) META-INF adfm.xml adfmf-feature.xml MANIFEST.MF task-flow-registry.xml oracle application1 mobile Class1.class DataBindings.cpx pageDefs view1PageDefs model adfc-mobile-config.adfc.diagram ViewController-task-flow.adfc.diagram public_html adfc-mobile-config.xml index.html navbar-icon.html springboard-icon.html view1.amx ViewController-task-flow.xml
機能アーカイブ・ファイルでの作業は、次のタスクから構成されます。
機能アーカイブ・ファイルの作成: 機能アプリケーションをライブラリJARファイルとしてデプロイすることで機能アーカイブを作成します。
ADFモバイル・アプリケーション作成時の機能アーカイブ・ファイルの使用: これにはFARのインポートと、インポートされた接続の再マッピングが含まれます。
FARの機能を含むADFモバイル・アプリケーションのデプロイ: これには、デプロイメント・テンプレート内の一意の名前が付けられたフォルダへのFARの解凍が含まれます。
注意: デプロイメント・プロセス時に、ADFモバイルによってFARが生成されます。別のアプリケーションでこのFARを使用する場合は、ビュー・コントローラ・プロジェクトのみをデプロイすればすみます。 |
「デプロイメント・プロファイルの作成」ダイアログを使用します(図16-9を参照)。
始める前に:
アプリケーションの適切な接続を作成します。『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の接続のネーミングの考慮事項に関する項を参照してください。
機能アーカイブのデプロイメント・プロファイルを作成するには:
ビュー・コントローラ・プロジェクトを右クリックし、「新規」→「デプロイ」→「新規デプロイメント・プロファイル」を選択します。
注意: アプリケーションレベルの別個のデプロイメント・プロファイルを作成する必要はありません。 |
「デプロイメント・プロファイルの作成」ダイアログで「ADFモバイル機能アーカイブ」を選択します。
プロファイル名を入力するか、デフォルトを受け入れて、「OK」をクリックします。
注意: プロファイルには適切な名前を付けてください。そうしないと、アーカイブ名が同じアプリケーション機能を複数アップロードしたときに、問題が発生する可能性があります。詳細は、第5.12.3項「機能アーカイブ・リソースの再使用の有効化について」を参照してください。 |
機能アーカイブJARファイルに含める接続を選択します(図16-27を参照)。
「次へ」をクリックしてオプションをレビューし、「終了」をクリックします。
「デプロイメント・アクション」ダイアログでは、FARをJARファイルとしてデプロイできます。図16-28に示すこのダイアログには、「機能アーカイブJARファイルへデプロイします。」という1つのデプロイメント・オプションのみがあります。
機能アーカイブのデプロイメント・プロファイルをデプロイするには:
ビュー・コントローラ・プロジェクトを右クリックして、機能アーカイブのデプロイメント・プロファイルを選択します。
「終了」をクリックします。「サマリー」ページ(図16-29を参照)に、機能アーカイブ・ファイルのJARパスがデプロイされるフルパスが表示されます。
「デプロイメント・アクション」ダイアログを完了すると、ADFモバイルによって、「サマリー」ページに示されたパスにライブラリJARが作成されます。他のアプリケーションでこのJARを使用できるようにするには、最初に、図16-30に示す「リソース・パレット」(第5.12.1項「ADFモバイル・アプリケーションでのFARコンテンツの使用方法」で説明)で機能アーカイブJARの場所への接続を作成することでこれを利用可能にする必要があります。図16-30は、ファイル・システム接続によりADFモバイル・アプリケーション使用可能となる機能アーカイブを示します。詳細は、『Oracle Fusion Middleware Oracle JDeveloperユーザーズ・ガイド』のリソース・パレットの操作に関する項を参照してください。
JDeveloper IDEを起動しなくても、OJDeployコマンドライン・ツールを使用して、JDeveloperからiOSまたはAndroidデプロイメント・ファイルをデプロイできます。コマンドラインのデプロイメントは、テストのためのツールとして機能すると同時に、スクリプトを使用したアプリケーションのデプロイ方法として機能します。
デプロイメント・プロファイルのプロパティ・エディタを使用してiOSまたはAndroidデプロイメント・ファイルを作成したら、OJDeployを使用してiOSシミュレータと(iTunes経由で)iOSデバイスに、またはiOSバンドル(.ipa
ファイル)として、あるいは機能アーカイブJARファイルとして、アプリケーションをデプロイできます。同様に、OJDeployを使用すると、AndroidエミュレータとAndroidデバイスの両方に、またはAndroidアプリケーション・パッケージ・ファイル(.apk
ファイル)として、あるいは機能アーカイブJARファイルとして、アプリケーションをデプロイできます。OJDeployの詳細は、『Oracle Fusion Middleware Oracle JDeveloperユーザーズ・ガイド』のコマンドラインからのデプロイに関する項を参照してください。
注意: OJDeployをMac上で使用するには、次の行を
このファイルは |
次のコマンドを使用して、ADFモバイルのデプロイメント・プロファイルをデプロイできます。
deployToDevice
: iOSデバイスまたはAndroidデバイスにアプリケーションをデプロイします。iOSアプリケーションの場合、このコマンドは、iTunesを使用してアプリケーションがデバイスにデプロイされるデバッグ・シナリオで使用されます。詳細は、第16.4.5項「iTunesへのiOSアプリケーションの配布方法」を参照してください。
deployToSimulator
: iOSシミュレータまたはAndroidエミュレータにアプリケーションをデプロイします。ADFモバイル・アプリケーションはAppleコンピュータ上のiOSシミュレータにのみデプロイできます。
deployToPackage
: iOSアプリケーションを.ipa
ファイルとして、またはAndroidアプリケーションを.apk
ファイルとしてデプロイします。アプリケーションは、Appleコンピュータでのみ、.ipa
ファイルとしてパッケージ化できます。
deployToFeatureArchive
: 機能アーカイブをJARファイルにデプロイします。
これらのコマンドは、ojdeploy
コマンドライン・ツール、OJDeployの引数およびそのオプションとともに、次のように使用します。
ojdeploy deployToSimulator -profile <profile name> -workspace <jws file location>
注意: OJDeployコマンドと引数では大文字と小文字が区別されます。 |
表16-7に、ADFモバイルのデプロイメント・コマンドを変更するために使用するOJDeploy引数をリストします。
ヒント:
|
表16-7 ADFモバイルのデプロイメント用のOJDeploy引数
引数 | 説明 |
---|---|
|
AndroidまたはiOSデプロイメント・プロファイルの名前。たとえば、次のようになります。 ojdeploy deployToSimulator -profile iosDeployProfile ... |
|
ADFモバイル・アプリケーション・ファイル( ... -workspace /usr/jsmith/mywork/Application1/Application1.jws |
|
ojdeploy deployToFeatureArchive -profile farProfileName -project ViewController ... |
表16-7にリストされた引数に加えて、『Oracle Fusion Middleware Oracle JDeveloperユーザーズ・ガイド』のコマンドの使用方法に関する項で説明されているOJDeployオプションも使用できます。
注意: 次のオプションはサポートされていません。
|
表16-8に、ADFモバイルのデプロイメント・コマンドでOJDeployオプションを使用する方法の例を示します。
表16-8 ADFモバイルのデプロイメント用のOJDeployオプション
オプション | 説明 |
---|---|
|
コンパイルの前に、プロジェクト出力ディレクトリからすべてのファイルを削除します。たとえば、次のようになります。 ojdeploy deployToSimulator -profile iosDeployProfile -workspace /usr/jsmith/jdeveloper/mywork/Application1.jws -clean |
|
標準出力とエラー・ロギングのストリームを、それぞれのプロファイルとプロジェクトのファイルにリダイレクトします。たとえば、次のようになります。 ojdeploy deployToSimulator -profile iosDeployProfile -workspace /usr/jsmith/jdeveloper/mywork/Application1.jws -clean -stdout /usr/jsmith/stdout/stdout.log -stderr /usr/jsmith/stderr/stderr.log |