プライマリ・コンテンツに移動
Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発
2.3.3
E82940-01
目次へ移動
目次

前
次

28 MAFアプリケーションのデプロイ

この章では、テストと公開のためのMAFアプリケーションのデプロイ方法について説明します。

この章の内容は次のとおりです。

28.1 MAFアプリケーションのデプロイメントの概要

MAFでは、デバイスまたは仮想デバイス(エミュレータまたはシミュレータ)にアプリケーションをデプロイするために、デプロイメント・プロファイルを使用します。MAFデプロイメント・ファイルは、デプロイメントのリリース・モードまたはデバッグ・モードとデプロイメント・ターゲットに固有の様々なライブラリのセットで構成されています。

エンド・ユーザーに配布するためにアプリケーションを公開する前に、デバイスまたは仮想デバイスでこれをテストして、その動作と使いやすさを評価する必要があります。MAFは、MAFアプリケーションをデプロイ可能な各プラットフォーム用のすぐに使用できるデプロイメント・プロファイルを提供しています。すぐに使用できるデプロイメント・プロファイルを使用するか、または独自のデプロイメント・プロファイルを作成して、MAFアプリケーションをテストするデバイスまたは仮想デバイス(エミュレータまたはシミュレータ)にMAFアプリケーションをデプロイします。

MAFでは、デプロイメント・プロファイルを使用してアプリケーションをデプロイする場合、プラットフォーム固有のテンプレート・アプリケーションを一時的な場所にコピーした後、MAFプロジェクト内で定義されたコード、リソースおよび構成を使用して、そのアプリケーションを更新します。その後、MAFでは、ターゲット・プラットフォームのツールを使用して、アプリケーションをビルドおよびデプロイします。ダウンロード・サイトまたはアプリケーション・マーケットプレイス(Apple App Storeなど)から入手可能なプラットフォーム固有のパッケージとして、モバイル・アプリケーションをデプロイできます。テストおよびデバッグの目的で、デバイスまたは仮想デバイスにデプロイできます。ビュー・コントローラ・プロジェクトを機能アーカイブ(FAR)としてデプロイすることで、アプリケーション機能を再利用できます。また、モバイル・アプリケーション全体は、モバイル・アプリケーション・アーカイブ(.maa)・ファイルとしてデプロイすることで再利用することもできます。

各MAFデプロイメント・プロファイル(Android、iOS、Windows)には、デプロイメントのタイプ(リリースまたはデバッグ)とデプロイメント・ターゲット(シミュレータまたは実際のデバイス)の組合せに固有の異なるライブラリのセットが含まれています。さらに、それぞれのライブラリ・セットには、JVMのJARファイルが含まれます。アプリケーションのバインディング・レイヤーは、Objective-Cライブラリのコレクションであるこの仮想マシン内にあります。たとえば、MAFは、iOSシミュレータをターゲットとするデバッグ・デプロイメントに対して、JVM JARファイルと一連のライブラリをデプロイしますが、実際のiOSデバイスをターゲットとするデバッグ・デプロイメントに対しては、異なるJVM JARファイルと一連のライブラリをデプロイします。プロジェクトに宣言したライブラリが、プロジェクトのデプロイメント・アーティファクトに含まれています。

28.2 デプロイメント・プロファイルでの作業

MAFアプリケーション・デプロイメントの場合は、すぐに使用できるデプロイメント・プロファイルを作成するか、カスタマイズしたデプロイメント・プロファイルを使用します。デプロイメント・プロファイルでは、アプリケーションをアーカイブにパッケージ化する方法を定義します。プラットフォーム固有のデバイスや仮想デバイスに、このパッケージをデプロイします。

デプロイメント・プロファイルを使用して、MAFアプリケーションを実行するプラットフォームにMAFアプリケーションをデプロイします。MAFには、サポートしている各プラットフォーム(Android、iOS、Windows)用のすぐに使用できるデプロイメント・プロファイルが用意されていますが、カスタマイズしたデプロイメント・プロファイルを作成することもできます。デプロイメント・プロファイルでは、プラットフォーム・デバイス(AndroidデバイスやAndroidエミュレータなど)にデプロイするアプリケーションをアーカイブにパッケージ化する方法を定義します。デプロイメント・プロファイルは次を行います。

  • アーカイブの形式と内容を指定します。

  • アーカイブ・ファイルへのパッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタおよびその他の補助ファイルをリストします。

  • 作成されるアーカイブ・ファイルのタイプおよび名前を記述します。

  • 依存情報、プラットフォーム固有の指示およびその他の情報を示します。

MAFでは、プラットフォーム固有のデプロイメント・プロファイルに加えて、MAFアプリケーションをMAFアプリケーション・アーカイブ(.maa)・ファイルとしてパッケージ化するために使用できるデプロイメント・プロファイルも提供します。このファイルを使用すると、.maaファイルとしてパッケージ化された既存のアプリケーションを使用する新しいMAFアプリケーションを作成できます。このデプロイメント・ファイルには、MAFアプリケーション名に_archiveが続く形式の名前がデフォルトで付けられます。「モバイル・アプリケーション・アーカイブ・ファイルの作成」を参照してください。

28.2.1 自動的に生成されるデプロイメント・プロファイルについて

アプリケーションが作成されると、MAFはデフォルトの設定とイメージ・ファイルでデプロイメント・プロファイルのセットを生成します。アプリケーションのデプロイにプロファイルを使用するには、「アプリケーション」メニューの「デプロイ」オプションを使用します。

アプリケーションを作成すると、MAFによって、デフォルトの設定とイメージ・ファイルでシードされたデプロイメント・プロファイルが生成されます。環境を正しく構成した場合、これらのプロファイルを使用して、MAFアプリケーションを作成直後にデプロイできます。これを行うには、図28-1に示すように、「アプリケーション」を選択した後、「デプロイ」を選択します。

図28-1 デフォルトのデプロイメント・プロファイル

この図は周囲のテキストで説明しています

その後、「デプロイメント・アクション」ページ(図28-2を参照)を使用し、適切なデプロイメント・ターゲットを選択します。

図28-2 デプロイメント・ターゲットの選択

この図は周囲のテキストで説明しています

各デプロイメント・プロファイルには、環境設定と構成に関する独自の要件があります。次を参照してください。

これらのプロファイルには、デフォルト値をそのまま使用するか、「アプリケーション・プロパティ」ダイアログの「デプロイメント」ページでプロファイルを選択し、「編集」をクリックすることによって、それらの値を編集することもできます。図28-3は、デフォルトのAndroidアプリケーション・プロファイルの「Androidオプション」ページを示しています。

図28-3 デフォルトのデプロイメント・プロファイルの編集

この図は周囲のテキストで説明しています

MAFでは、アプリケーション・コントローラ・プロジェクトとビュー・コントローラ・プロジェクトは、別々の機能アーカイブ(FAR)ファイルとしてパッケージ化されます。MAFファイルのこれらのJARファイルは他のアプリケーションのリソースとして使用され、それは「機能アーカイブ・ファイル(FAR)のデプロイ」で説明されています。MAFでは、MAFアプリケーション・プロファイルへの依存関係としてこれらのFARファイルが作成されるため、図28-4に示すように、「アプリケーション・プロパティ」ダイアログの「プロファイルの依存性」ページを使用して、それらを含めたり除外したりできます。

注意:

アプリケーション・コントローラ・プロジェクトに含まれるFARプロファイルの依存性は1つである必要があります。そうでない場合、デプロイメントは失敗します。

図28-4 MAFプロジェクトからのFARコンテンツの編集

この図は周囲のテキストで説明しています

「プロジェクト・プロパティ」ダイアログのファイル・グループに関連するページを使用すると、ビュー・コントローラのFARファイルに含まれるコンテンツをカスタマイズできます(図28-5を参照)。「プロジェクト・プロパティ」ダイアログの詳細は、Oracle JDeveloperのオンライン・ヘルプおよび『Oracle JDeveloperによるアプリケーションの開発』のデプロイメント・プロファイルの構成に関する項を参照してください。

図28-5 ビュー・コントローラ・プロジェクトのFARの編集

この図は周囲のテキストで説明しています

「アプリケーションのプロパティ」ダイアログの各ページを使用したデプロイメント・プロファイルの編集の詳細は、『Oracle JDeveloperによるアプリケーションの開発』のデプロイメント・プロファイルのプロパティの表示と変更に関する項と、Oracle JDeveloperオンライン・ヘルプの「アプリケーションのプロパティ」ダイアログや「プロジェクト・プロパティ」ダイアログに関する項を参照してください。

28.2.2 デプロイメント・プロファイルの作成方法

ターゲット・プラットフォームのSDKを指定したら、タスク内の手順に従って、「デプロイメント・プロファイルの作成」を使用してデプロイメント・プロファイルを作成します。複数のデプロイメント・プロファイルを作成できますが、1つのアプリケーションのデプロイに必要になるアプリケーションレベルのデプロイメント・プロファイルは1つのみです。

モバイル・アプリケーションを作成すると、MAFによって、デプロイメント・プロファイルのセットが作成されます。これらのプロファイルを使用してアプリケーションをデプロイしたり、それらのプロファイルを編集したり、MAF固有のデプロイメント・プロファイル・ページを使用して新しいプロファイルを構成できます。デプロイメント・プロファイルの作成ウィザード(図28-6を参照)を使用して、それらのページからデフォルトのデプロイメント・プロファイルを作成できます。デプロイメント・プロファイルは、必要な数だけ作成できます。これらの標準デプロイメント・プロファイル・ページの詳細は、「ヘルプ」をクリックしてJDeveloperオンライン・ヘルプを参照してください。

注意:

MAFアプリケーションのデプロイメントでは、アプリケーションレベルのデプロイメント・プロファイルの作成のみが必要とされるので、ビュー・コントローラレベルのデプロイメント・プロファイルを作成する必要はありません。

始める前に:

JDeveloperでモバイル・アプリケーションをデプロイできるようにするには、『Oracle Mobile Application Frameworkのインストール』のプラットフォームとフォーム・ファクタに応じた開発環境の構成に関する項で説明するように、ターゲット・プラットフォーム用のSDKを指定する必要があります。

ヒント:

iOSデプロイメントの場合は、iTunesおよびiOSシミュレータを1回以上実行してから、それらのディレクトリの場所を構成します。

デプロイメント・プロファイルを作成するには:

  1. 「アプリケーション」を選択して、「デプロイ」を選択します。
  2. 「新規デプロイメント・プロファイル」を選択します。
  3. 図28-6に示すように、ターゲットにするプラットフォームのプロファイルを「プロファイル・タイプ」ドロップダウン・リストから選択します。
  4. プロファイルのデフォルト名をそのまま使用するか、新しい名前を入力します。「OK」をクリックします。
  5. 必要な場合は、「オプション」ページと「アプリケーション・イメージ」ページを適宜使用して、「OK」をクリックします。

    図28-6 「デプロイメント・プロファイルの作成」ウィザード

    この図は周囲のテキストで説明しています

28.2.3 デプロイメント・プロファイルの作成時の処理

「デプロイメント・プロファイルの作成」ウィザードが完了すると、JDeveloperによってデプロイメント・プロファイルが作成され、デプロイメント・プロファイルのプロパティ・エディタが開きます。アプリケーションがデプロイされると、デフォルト・プロジェクトのFARファイルとともに、デプロイメント・ディレクトリと関連サブディレクトリがJDeveloperによって作成されます。

ウィザードが完了すると、JDeveloperによってデプロイメント・プロファイルが作成され、デプロイメント・プロファイルのプロパティ・エディタが開きます。

表28-1に、デプロイメント・プロファイルのプロパティ・エディタのMAFに固有のページ(表28-1を参照)をリストします。


表28-1 MAF固有のデプロイメント・プロファイル・ページ

ページ 機能

iOSオプション

iOSデバイスまたはiOSシミュレータにデプロイされるアプリケーションの設定を変更できます。

Androidオプション

AndroidデバイスまたはAndroidエミュレータにデプロイされるアプリケーションの設定を変更できます。

Windowsオプション

ユニバーサルWindowsプラットフォームにデプロイするアプリケーションの設定を変更できます。

アプリケーション・イメージ

適切なグラフィックス・ファイルを追加することで、アプリケーションにカスタム・アイコンを割り当てられます。

デバイスの向き

アプリケーションの表示をデバイスの特定の向きに制限できます。このページはiOSデプロイメント・プロファイルのみに使用されます。


注意:

デプロイメントはアプリケーションのニーズによって異なります。表28-1にリストされたページにシードされたデフォルト値を使用してアプリケーションをデプロイできます。

アプリケーションをデプロイすると、JDeveloperによってデプロイメント・ディレクトリと関連するサブディレクトリが作成されます。さらに、ビュー・コントローラ・プロジェクト(異なる名前が付いている必要があります)とアプリケーション・コントローラ・プロジェクトの両方の機能アーカイブ・ファイル(FAR)が作成されます。これら2つのFARに加え、プロジェクトにインポートされたすべてのFARのコピーがJDeveloperによって作成されます。コンパイル・プロファイルを変更する際は、デプロイメント・ディレクトリを削除する必要があります。「ビルド」「すべてクリーン」を選択することで、このディレクトリに加え、FARを含むビュー・コントローラ・プロジェクト内のデプロイメント・ディレクトリを削除できます。

28.3 Androidアプリケーションのデプロイ

すぐに使用できるAndroidプラットフォーム用のデプロイメント・プロファイルを使用して、Androidデバイス、エミュレータまたはパッケージにデバッグ・モードまたはリリース・モードでMAFアプリケーションをデプロイしてください。

MAFには、すぐに使用できるデプロイメント・プロファイル(Android1)が用意されており、これによってMAFアプリケーションがデプロイされます。このすぐに使用できるデプロイメント・プロファイルを使用するか、またはその他のデプロイメント・プロファイルを1つ以上作成して、MAFアプリケーションをAndroidプラットフォームにデプロイできます。デプロイメント・プロファイルを使用すると、MAFアプリケーションをデバッグ・モードまたはリリース・モードでAndroidデバイス、エミュレータまたはパッケージ(.APK)にデプロイできます。この最後のオプションは、アプリケーション・マーケットプレイス(Google Playなど)を介してエンド・ユーザーにアプリケーションを公開する必要がある場合に使用します。

ヒント:

「コマンド行からのMAFアプリケーションのデプロイ」で説明されているように、「デプロイメント・アクション」ダイアログのかわりに、OJDeployコマンド行ツールを使用してモバイル・アプリケーションをAndroidプラットフォームにヘッドレス・モードでデプロイすることもできます。

28.3.1 Androidデプロイメント・プロファイルの作成方法

アプリケーションの署名オプションとjavacコンパイラの動作を定義し、アプリケーション・アイコンに使用するデフォルトのOracleイメージをカスタムのイメージでオーバライドして(必要な場合)、Androidプラットフォーム用のデプロイメント・プロファイルを作成します。

デプロイメント・プロファイルによって、Androidデバイスまたはエミュレータへのアプリケーション・デプロイメントのためのテンプレートまたはAndroidアプリケーション・パッケージ(.apk)・ファイルとしてアプリケーションを作成するためのテンプレートが作成されます。

Androidのデプロイメント・プロファイルを作成するには、アプリケーションの署名オプションとjavacコンパイラの動作を定義し、必要な場合はアプリケーション・アイコンに使用されるデフォルトOracleイメージをカスタム・イメージでオーバーライドします。

始める前に:

『Oracle Mobile Application Frameworkのインストール』のAndroid SDKのインストール方法に関する項の説明に従って、Android SDKをダウンロードしてインストールします。

Androidエミュレータにデプロイする場合は、Android開発者のWebサイト(http://developer.android.com/tools/devices/index.html)で入手可能なドキュメント『Managing Virtual Devices』の説明に従い、Android Virtual Device Managerを使用して各エミュレータ・インスタンスの仮想デバイスを作成する必要があります。

また、AndroidプラットフォームSDKのMAFのプリファレンス(「ツール」「プリファレンス」「モバイル・アプリケーション・フレームワーク」「Androidプラットフォーム」を選択してアクセス)を、Android SDKパッケージのダウンロードの一部であるSDK、プラットフォームおよびビルド・ツールの場所に設定する必要があります。図28-7には、これらの場所が示されています。

注意:

デプロイメントを有効にするには、「Androidビルド・ツール・ロケーション」フィールドがビルド・ツールの場所、aaptファイル(Windowsシステム上のappt.exe)を参照している必要があります。

MAFは、開発コンピュータにインストールされている最新バージョンのbuild-toolsディレクトリを「Androidビルド・ツール・ロケーション」フィールドに入力します。

注意:

プッシュ通知には、Android 4.0.3 (API 15)プラットフォーム(またはそれ以降)を実行しているデバイスとエミュレータが必要です。エミュレータ上でプッシュ通知を有効にするには、Google Playストアがこれらのデバイスにインストールされ、Google APIがSDKにインストールされている必要があります。ユーザーはGoogleアカウントを作成(およびログイン)している必要があります。

Android開発者のWebサイト(http://developer.android.com/index.html)で入手可能な『Google Cloud Messaging for Android』のGCM Architectural Overviewも参照してください。

図28-7 Android SDK、プラットフォームおよび署名プロパティの設定

このイメージについては周囲のテキストで説明しています。

ヒント:

コマンド行からJDeveloperを起動するときの起動パラメータを使用したプリファレンス設定の詳細は、「起動パラメータを使用したコマンド行からのプリファレンス設定」を参照してください。

「Androidプラットフォーム」のプリファレンス・ページを使用して、AndroidプラットフォームにデプロイするMAFアプリケーションの署名に使用されるキーのデバッグおよびリリース・プロパティも定義します。その次に、デプロイメント・プロファイルで、モバイル・アプリケーションのリリース・タイプ(デバッグまたはリリースのどちらか)を指定します。署名キー・プロパティは一度定義するのみでかまいません。詳細は、「Android署名オプションの定義」を参照してください。また、Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html)で入手可能なドキュメント『Signing Your Applications』のアプリケーションの公開に関する情報も参照してください。

28.3.1.1 起動パラメータを使用したコマンド行からのプリファレンス設定

CLIからJDeveloperを起動して、起動パラメータによるMAFプリファレンスのオーバライドを指定します。-J-Dオプションを使用することで、起動パラメータを使用して、プリファレンス(Android SDKとプラットフォームの場所やiTunes Mediaフォルダの場所など)を設定します。

コマンド行から起動パラメータ付きでJDeveloperを起動するには、-J-Dオプションを使用します。例に示すように、すべての文字列を二重引用符で囲む必要があります。

次の例は、Android SDKの場所をオーバーライドする方法を示しています。

jdeveloper.exe -J-Doracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidPlatformDir="C:\<my_Android_SDK_path>"

コマンド行からAndroidのプリファレンスを設定するために使用できる起動パラメータは次のとおりです。

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidSdkDir

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidPlatformDir

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidBuildToolsDir

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidReleaseSigningKeystorePath

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.androidReleaseSigningKeystorePath

次の例は、iTunes Mediaフォルダの場所をオーバーライドする方法を示しています。

 ./jdev -J-Doracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iOSiTunesDir="/Users/<my_username>/Music/iTunes/iTunes Media/Automatically Add to iTunes.localized"

コマンド行からiOSのプリファレンスを設定するために使用できる起動パラメータは次のとおりです。

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iosProvisioningProfileName

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iosProvisioningProfileTeamName

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iOSiTunesDir

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iosCertificate

  • oracle.adfmf.framework.dt.preferences.PlatformSDKsPrefs.iosProvisioningProfile

28.3.1.2 アプリケーションの詳細オプションの設定

タスク内の手順に従って、Androidアプリケーションの詳細ページを使用して、アプリケーション情報(アプリケーション・パッケージ名、アプリケーション名、バージョン名、バージョン・コードなど)を構成します。

Androidの「アプリケーションの詳細」ページを使用して、アプリケーション・パッケージ名、アプリケーション名、バージョン名およびバージョン・コードを指定します。

バージョニングの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/publishing/versioning.html)で入手可能なドキュメント『Versioning Your Applications』を参照してください。

アプリケーション・オプションを設定するには:

  1. JDeveloperのメイン・メニューで「アプリケーション」「アプリケーション・プロパティ」を選択します。
  2. 「アプリケーションのプロパティ」ダイアログの「デプロイメント」ページで、MAFアプリケーションのデプロイに使用するデプロイメント・プロファイル(Android1など)を選択し、鉛筆アイコンをクリックしてそれを編集します。
  3. 表示される「Android用MAFのデプロイメント・プロファイルのプロパティ」ダイアログで、「Androidオプション」「アプリケーションの詳細」にナビゲートします。
  4. デフォルト値をそのまま使用するか、次のオプションを定義します。
    • パッケージ名: maf-application.xmlファイルのid属性で設定される、アプリケーションの一意のパッケージ名ID。Androidデバイスにデプロイされる各アプリケーションには、一意のIDがあります。このIDを数字から始めることはできません。「自動的に生成されるデプロイメント・プロファイルについて」を参照してください。

      必要な場合は、デプロイメント・ファイルでこの値をオーバーライドできます。ただし、アプリケーションをデプロイするには、この名前がAndroidマニフェスト・ファイルの<manifest>要素に含まれるpackage属性に従っている必要があります。この要素は、Android開発者のWebサイト(http://developer.android.com/guide/topics/manifest/manifest-intro.html)で入手可能な『The AndroidManifest.xml File』というタイトルのドキュメントで説明されています。具体的には、IDには、インターネット・ドメイン(com.company.application)のリバースパッケージ書式を使用します。ネーミングの競合を避けるために、パッケージ名にはドメインの所有者が反映されます(例: com.oracle.application)。

      注意:

      パッケージ名には空白を使用できません。

    • アプリケーション名: MAFによって作成された.apkファイル。デフォルト名を受け入れるか、.apkファイルの名前を変更する場合は別の値を入力します。

      MAFのデフォルトでは、.apkファイルの名前は、maf-application.xmlファイルで構成されているアプリケーションのid属性に基づいて付けられます。「アプリケーション機能の表示プロパティの設定」を参照してください。

    • バージョン名: ユーザーに表示されるアプリケーション・コードのリリース・バージョン。「アプリケーション機能の表示プロパティの設定」も参照してください。

    • バージョン・コード: アプリケーション・コードのバージョンを表す整数値。これは、他のアプリケーションによってプログラムで、アップグレードかダウングレードかチェックされます。デフォルトは1で、これが最小の値です。任意の値を選択し、リリースごとに1つずつ値を増やすことができます。

28.3.1.3 デプロイメント・オプションの設定

タスク内の手順に従って、「Androidオプション」ページを使用して、javacコンパイラ・ツールのオプションで渡される値、zipalignオプションおよびAndroid APIレベルを設定します。

「Androidオプション」ページでは、javacコンパイラ・ツールのオプションで渡される値、zipalignオプションおよびAndroid APIレベルを設定できます。

R.javaファイルと.classファイルのJDK互換性レベルを設定するには:

  1. 「ソース・ファイル」ドロップダウン・リストからJDK互換性レベルを選択します。この値は、デプロイメントでjavacツールを実行し、javac -sourceオプションを使用してR.java (アプリケーション・リソースの参照用にAndroidによって生成されたファイル)をコンパイルする際に指定されます。

    R.javaの詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/resources/accessing-resources.html)で入手可能なドキュメント『Accessing Resources』を参照してください。

  2. 「クラス・ファイル」ドロップダウン・リストから、コンパイルされた.classファイルのJDKバージョンの互換性を選択します。この値は、デプロイメントでjavacツールを実行し、javac -targetオプションを使用してR.javaファイルをコンパイルする際に指定されます。
  3. 「ターゲットSDK APIレベル」には、アプリケーションが実行されるターゲットAPIレベルが表示されます。この値は変更できません。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/manifest/manifest-intro.html)で入手可能な「The AndroidManifest.xml File」で、<uses-sdk>属性の説明を参照してください。
  4. 「最小SDK APIレベル」ドロップダウン・リストから、アプリケーションが実行できる最小APIレベルを選択します。最小(デフォルト)値は15で、これはAndroid 4.0.3プラットフォームに対応します。最小SDKのバージョンを上げると、旧バージョンのAndroidを実行しているデバイスをアプリケーションのインストール対象から除外できます。
  5. 「文字エンコーディング」ドロップダウン・リストから、コンパイラがASCII文字セット以外の文字を解釈する方法を制御するネイティブエンコーディング名を選択します。デフォルトは、UTF-8です。

ZIP位置合せオプションを設定するには:

バイト位置合せ(32ビットまたは64ビット)を選択します。32ビット(デフォルト)を選択すると、4バイト境界の位置合せが提供されます。

デプロイ済モバイル・アプリケーションの優先記憶域の場所を設定するには:

デフォルトでは、モバイル・アプリケーションは、JDeveloperからデバイスにデプロイされた後またはGoogle Playなどのアプリケーション・マーケットプレイスからダウンロードされた後、Androidデバイスの内部記憶域に格納されます。「優先記憶域の場所」ドロップダウン・リストから使用可能な次のオプションでは、モバイル・アプリケーションの優先記憶域の場所を指定できます。

  • 内部: モバイル・アプリケーションをデバイスの内部記憶域に強制的にインストールします。

  • 外部: アプリケーションをデバイスのSDカードにインストールできます。ただし、Androidシステムは、SDカードにアプリケーションをインストールできないことを検出した場合(たとえば、SDカードがマウントされていない場合や、SDカードは存在するものの十分な領域がない場合)、かわりにアプリケーションをデバイスの内部記憶域にインストールします。モバイル・デバイス・ユーザーは、システム設定を使用して、内外の記憶域間でアプリケーションを移動できます。

  • 自動: アプリケーションをデバイスの外部記憶域または内部記憶域にインストールできることを指定します。モバイル・デバイス・ユーザーは、システム設定を使用して、内外の記憶域間でアプリケーションを移動できます。

「外部」オプションまたは「自動」オプションを選択すると、デプロイメント・フレームワークによってAndroidManifest.xmlファイルの<manifest>要素がandroid:installLocation属性、および"preferExternal"または"auto"という値で更新されるようにすることができます。AndroidManifest.xmlファイルにこの属性を入力すると、モバイル・アプリケーションを外部SDカードまたは内部記憶域に格納できます。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/data/install-location.html)またはAndroid SDKのドキュメントから入手できる『Data Storage Guide』の「App Install Location」を参照してください。

ロギング・レベルを設定するには、次のようにします。

Androidデプロイメントに「詳細出力」を選択して、.apkのビルド時にデプロイメントによって起動される各コマンド行ツールによって提供される全出力をログに記録します。このオプションを選択しないと、デプロイメントですべての出力がログに記録されません。

28.3.1.4 Android署名オプションの定義

タスク内の手順に従って、キーのデバッグ・プロパティとリリース・プロパティを定義します。また、ビルド・モードを指定するようにデプロイメント・プロファイルを構成して、Androidプラットフォームへのデプロイメント用にアプリケーションが署名されるようにします。

アプリケーションは、Androidデバイスまたはエミュレータにデプロイする前に、署名する必要があります。Androidでは、認証局は不要です。アプリケーションは自己署名できます。

デプロイメントにおけるモバイル・アプリケーションの署名方法の定義は、2つの手順で構成されます。まず、MAFのプラットフォームのプリファレンス・ページで、Androidアプリケーションの署名に使用されるキーのデバッグおよびリリース・プロパティを定義します。デバッグおよびリリースの署名プロパティは、一度構成するのみでかまいません。これらのオプションを定義したら、デプロイメント・プロファイルを構成して、デバッグ・モードとリリース・モードのどちらでアプリケーションをデプロイするかを指定します。

始める前に:

キーストア・ファイルが存在しない場合は、keytoolユーティリティを使用して、キーストア・ファイルを作成できます(次の例を参照)。

keytool -genkeypair
        -v
        -keystore c:\jdeveloper\mywork\releasesigning.keystore
        -alias releaseKeyAlias
        -keyalg RSA
        -keysize 2048
        -validity 10000

この例のキーストアには、10,000日間有効な単一のキーが含まれています。Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html)で入手可能なドキュメント『Signing Your Applications』の説明にあるように、keytoolではキーストアを生成する前に、キーストアとキーのパスワードと、「識別名」フィールドへの入力が求められます。keytoolユーティリティの使用方法については、Java SEテクニカル・ドキュメント(http://download.oracle.com/javase/index.html)を参照してください。

デバッグ・モードのキー・オプションを構成するには:

  1. 「ツール」をクリックして、「プリファレンス」「モバイル・アプリケーション・フレームワーク」を選択します。

  2. 「プラットフォーム」を選択します。

  3. 「デバッグ」タブ(図28-8を参照)を選択します。

    図28-8 デバッグ・デプロイメントの構成

    この図は周囲のテキストで説明しています
  4. 「キーとキーストア・パスワード」フィールドに、デバッグ・デプロイメントに必要なキーストア・ファイルとキーを作成するためにデプロイメントで使用されるパスワードを入力します。Androidデバイスまたはエミュレータへのデプロイメント用のキーストアとキーファイルを生成するこのパスワードには、6文字以上の長さであれば、任意の値を指定できます。デフォルトのパスワードはAndroidです。

リリース・モードのキー・オプションを構成するには:

  1. 「ツール」をクリックして、「プリファレンス」「モバイル・アプリケーション・フレームワーク」を選択します。

  2. 「プラットフォーム」を選択します。

  3. 「リリース」タブを選択して、次を定義します。

    • キーストアの場所: 配布するアプリケーションの署名に使用する秘密鍵を含むキーストアのディレクトリを入力、参照および取得します。

    • キーストア・パスワード: キーストアのパスワードを入力します。このパスワードを使用すると、物理ファイルにアクセスできます。

    • キーの別名: キーの別名を入力します。これはkeytoolの-alias引数に使用する値セットです。別名の最初の8文字のみが使用されます。

    • キー・パスワード: キーのパスワードを入力します。このパスワードを使用すると、キーストア内のキー(別名によって識別される)にアクセスできます。

      ヒント:

      keytoolユーティリティによるキーストアの生成前に、keytoolユーティリティが要求するパスワードとキー・パスワードを入力します。

      これらのパラメータでは、アプリケーションの署名方法の指定に加え、R.Javaクラスのコンパイル方法も指定します。

  4. 「OK」をクリックします。

Androidビルド・モードを設定するには:

  1. 「Androidプラットフォーム」ページで、ビルド・モードとして「デバッグ」または「リリース」を選択します。
    • アプリケーションの開発やテスト(JavaやJavaScriptのデバッグなど)を行う際は「デバッグ」を選択します。このオプションを使用すると、秘密鍵を提供しなくても、Androidプラットフォーム上でアプリケーションをデプロイできます。Androidエミュレータまたはテスト用のAndroidデバイスにアプリケーションをする場合は、このオプションを使用します。「JavaコードおよびJavaScriptのデバッグを有効にする方法」も参照してください。

      注意:

      デバッグ・キーストアおよびキーで署名されたアプリケーションは公開できません。デバッグ・キーストアおよびキーは、テストのみに使用され、エンド・ユーザーへのアプリケーションの公開には使用できません。

    • アプリケーションを公開する準備ができた場合は、「リリース」を選択します。このオプションは、アプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開する準備ができた場合に使用します。

      ヒント:

      アプリケーションのパフォーマンスをテストするには、デバッグ・モードではなくリリース・モードを使用します。

  2. 「OK」をクリックします。

    デバッグ・モードまたはリリース・モードで.apkファイルが署名された後は、デバイスまたはエミュレータにデプロイできます。実行時に、MAFは、図28-9に示すように、赤の三角形内に感嘆符で表されるデバッグ・シンボルを重ねることで、アプリケーションがデバッグ・モードでデプロイされたことを示します。

    図28-9 デプロイメント・モード

    このイメージについては周囲のテキストで説明しています。

28.3.1.5 資格証明の格納に関する必知事項

資格証明ストアcwallet.ssoには、キーとキーストアのパスワードが保存されます。JDeveloperの再インストールの際には、このファイルをo.mafフォルダにコピーするか、プラットフォームの「プリファレンス」ページでリリース・モードの資格証明を再構成する必要があります。

MAFは、キーおよびキーストアのパスワードをファイルベースの資格証明ストア(cwallet.sso)に格納します。資格証明の格納および取得を管理するこのファイルは、ユーザーのJDeveloperシステム・フォルダのo.mafフォルダ内に存在します。たとえば、Windows 7環境では、cwallet.ssoファイルはC:\Users\jsmith\AppData\Roaming\JDeveloper\system12.1.3\o.mafに存在します。

『Oracle Fusion Middlewareの管理』のOracle Walletの概要に関する項を参照してください。

注意:

MAFは、キーおよびキーストア資格証明をproduct-preferences.xmlというファイルに格納します。JDeveloperおよびMAFの現在のバージョンのインストール・プロセス時に「インポート・プリファレンスの確認」ダイアログの「はい」をクリックしてプリファレンス設定を保持した場合、MAFはこれらの資格証明をcwallet.ssoファイルに移行します。ただし、cwallet.ssoファイルは、現在のバージョンのOracle JDeveloperとMAFの他のインストールには移行されません。再インストールした場合(または別のインストールを作成した場合)は、cwallet.ssoファイルをo.mafフォルダにコピーするか、または「プラットフォーム」プリファレンス・ページでリリース・モードの資格証明を再構成する必要があります。

28.3.1.6 Androidアプリケーションへのカスタム・イメージの追加方法

MAFは、様々なサイズと解像度のデフォルトのOracleアイコンをAndroidデバイス用に提供します。タスク内の手順に従って、このアイコンをカスタマイズします。カスタマイズは、「アプリケーション・イメージ」ページで、アプリケーション・アイコンとスプラッシュ画面のそれぞれにPNG形式のイメージを選択して、デフォルトのイメージをオーバーライドすることで実行します。

様々なサイズや解像度のAndroidデバイスでMAFアプリケーション・アイコンを正しく表示できるようにするには、同じイメージの低、中、高、超高、超超高密度および超超超高密度バージョンが必要です。MAFは、これらの表示要件を満たすデフォルトのOracleイメージを提供します。ただし、アプリケーションにカスタム・アイコンが必要な場合は、図28-10に示す「アプリケーション・イメージ」ページを使用して、アプリケーション・アイコンとスプラッシュ画面用にPNG形式のイメージを選択することで、デフォルト・イメージをオーバーライドできます。スプラッシュ画面には、縦向きと横向きのイメージを追加できます。カスタム・イメージ・ファイルを追加しない場合は、デフォルトのOracleアイコンが使用されます。MAFでは、Androidのデフォルトのスプラッシュ・スクリーン用に9-patchイメージが提供されています。9-patchイメージは、イメージのどのエリアが拡張され、どのエリアが拡張されないかを示します。これらのイメージは、イメージ内の指定された部分(デフォルトのMAFスプラッシュ・スクリーンのイメージ内のロゴや著作権表示など)の整合性を維持しながら、任意のサイズに合うように拡張できます。

カスタム・イメージを作成するには、Android開発者のWebサイト(http://developer.android.com/design/style/iconography.html)で入手可能なドキュメント『Iconography』を参照してください。

図28-10 Androidアプリケーション用のカスタム・イメージの設定

この図は周囲のテキストで説明しています

始める前に:

Androidテーマに適しており、複数の画面タイプをサポートできるディメンション、密度およびコンポーネントを使用するPNG、JPEGまたはGIFファイル形式のイメージを取得します。Android開発者のWebサイト(http://developer.android.com/guide/practices/screens_support.html)で入手可能なドキュメント『Supporting Multiple Screens』を参照してください。

カスタム・イメージを追加するには:

  1. 「アプリケーション・イメージ」をクリックします。
  2. 「参照」機能を使用して、プロジェクト・ファイルからスプラッシュ画面およびアイコン・イメージ・ファイルを選択します。図28-10は、低密度、中密度、高密度、超高密度、超超高密度、超超超高密度のディスプレイを装備するデバイスでの表示用にアプリケーションで使用されるアプリケーション・アイコンのイメージ、および縦向きのスプラッシュ画面用のイメージを選択する様子を示しています。
  3. 「OK」をクリックします。

28.3.1.7 JDeveloperによってAndroidアプリケーション用のイメージがデプロイされる場合の処理

アプリケーションがAndroidプラットフォームにデプロイされると、JDeveloperによってイメージがビュー・コントローラ・プロジェクトにコピーされ、アイコンのイメージとスプラッシュ画面のイメージを区別するために名前が変更されます。

デプロイメントの際、MAFにより、JDeveloperは、ソースの場所から一時デプロイメント・フォルダにイメージをコピーできます。MAF拡張機能に付属のデフォルト・イメージ(アプリケーション・ワークスペース・ディレクトリ\Application Resources\Resources\images内)の場合は、JDeveloperはシードされた場所から、ビュー・コントローラ・プロジェクトのデプロイメント・サブディレクトリ(アプリケーション・ワークスペース\ViewController\deploy)にコピーします。表28-2に示されているように、各イメージ・ファイルは、drawableオブジェクトにちなんで名付けられたdrawableというサブディレクトリにコピーされます。詳細は、Android開発者のWebサイト(http://developer.android.com/reference/android/graphics/drawable/Drawable.html)を参照してください。それぞれのdrawableディレクトリは、イメージ密度(ldpimdpihdpixhdpixxhdpiおよびxxxhdpi)と向き(portland)に対応します。これらのディレクトリ内で、JDeveloperは、各アイコン・イメージ・ファイルの名前をadfmf_icon.pngに、各スプラッシュ画面イメージの名前をadfmf_loading.9.pngまたはadfmf_loading.pngに変更します(9-patchのイメージを使用するかどうかによって異なります)。


表28-2 シードされたアプリケーション・イメージのデプロイメント・ファイルの場所

ソース・ファイル(...\resource\Android) 一時デプロイメント・ファイル(...ViewController\deploy)

display-ldpi-icon.png

drawable-ldpi\adfmf_icon.png

display-mdpi-icon.png

drawable-mdpi\adfmf_icon.png

display-hdpi-icon.png

drawable-hdpi\adfmf_icon.png

display-xhdpi-icon.png

drawable-xhdpi\adfmf_icon.png

display-xxhdpi-icon.png

drawable-xxhdpi\adfmf_icon.png

display-xxxhdpi-icon.png

drawable-xxxhdpi\adfmf_icon.png

display-port-ldpi-splashscreen.9.png

drawable-port-ldpi\adfmf_loading.9.png

display-port-mdpi-splashscreen.9.png

drawable-port-mdpi\adfmf_loading.9.png

display-port-hdpi-splashscreen.9.png

drawable-port-hdpi\adfmf_loading.9.png

display-port-xhdpi-splashscreen.9.png

drawable-port-xhdpi\adfmf_loading.9.png

display-port-xxhdpi-splashscreen.9.png

drawable-port-xxhdpi\adfmf_loading.9.png

display-land-ldpi-splashscreen.9.png

drawable-land-ldpi\adfmf_loading.9.png

display-land-mdpi-splashscreen.9.png

drawable-land-mdpi\adfmf_loading.9.png

display-land-hdpi-splashscreen.9.png

drawable-land-hdpi\adfmf_loading.9.png

display-land-xhdpi-splashscreen.9.png

drawable-land-xhdpi\adfmf_loading.9.png

display-land-xxhdpi-splashscreen.9.png

drawable-land-xxhdpi\adfmf_loading.9.png


カスタム・イメージの場合、JDeveloperは、アプリケーション・アイコンのセットを指定の場所から一時デプロイメントの場所の対応する密度と向きのサブディレクトリにコピーします。

28.3.2 AndroidエミュレータへのAndroidアプリケーションのデプロイ方法

MAFアプリケーションは、AndroidエミュレータのAndroid Virtual Deviceにデプロイできます。前提条件が満たされていることを確認し、タスク内の手順に従って、アプリケーションをデプロイします。このタスクでは、「アプリケーション」メニューで使用できる「デプロイ」「アプリケーションのエミュレータへのデプロイ」を選択します。

モバイル・アプリケーションはAndroidエミュレータ(Android Virtual Device (AVD)とも呼ばれる)に直接デプロイできます。

始める前に:

Androidエミュレータにデプロイするには、次を行う必要があります。

  • Androidプラットフォーム・バージョン21 (Android 5.0)をインストールします。

  • Android Virtual Deviceインスタンスの構成にARMまたはIntel Atom x86のシステム・イメージが反映されていることを確認します。

  • デプロイメント・プロファイルの「Androidオプション」ページで、次のようにします。

    1. 「デバッグ」が選択されていることを確認します。

    2. 「OK」をクリックします。

    注意:

    「Androidプラットフォーム」プリファレンス・ページは、デバッグ・モードのデプロイメント用のキーストアとキーの生成に使用されるパスワードで構成する必要があります。詳細は、「Android署名オプションの定義」を参照してください。

  • アプリケーションをデプロイする前にAndroidエミュレータ(Android Virtual Device)を起動します。

    エミュレータは、Android Virtual Device Manager(図28-11を参照)またはコマンド行を使用して起動できます。コマンド行から起動する場合は、toolsディレクトリ(Android\android-sdk内)に移動し、emulator -avdに続けてエミュレータ名を入力することで(例: -avd AndroidEmulator1)、エミュレータを起動します。

    注意:

    デプロイメント時にはAndroidエミュレータを1つのみ実行できます。

    図28-11 Android Virtual Device Managerを使用したエミュレータの起動

    この図は周囲のテキストで説明しています

アプリケーションをAndroidエミュレータにデプロイするには:

  1. 「アプリケーション」「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。

  2. 「アプリケーションのエミュレータへのデプロイ」をクリックしてから、「次へ」をクリックします。

  3. 「サマリー」ページ(図28-6を参照)をレビューし、「戻る」を選択して別のデプロイメント・アクティビティを選択するか、「終了」を選択します。「サマリー」ページには、デプロイメント・プロファイルの次のパラメータが表示されます。

    • アプリケーション・バンドルID: アプリケーションを特定する、Java言語のような一意のパッケージ名。

      これは、使用するデプロイメント・プロファイルの「アプリケーションの詳細」ページの「パッケージ名」フィールドの値に対応しています。

      注意:

      図28-12「サマリー」ページには、アプリケーション・バンドルIDが、エミュレータへのデプロイメントの成功に必要なリバースパッケージ書式であることが示されています。リバースパッケージ書式に従わないアプリケーションをデプロイすると、エミュレータが停止して、デプロイメントを完了できなくなります。

    • ファイル: Androidターゲットにデプロイされる.apkの名前。

    • デプロイ・モード: ビルド・モード。この値は、デプロイメント・プロファイルに設定されている値に応じて、「リリース」「デバッグ」のいずれかになります。

    図28-12 Androidエミュレータ・デプロイメントのサマリー

    この図は周囲のテキストで説明しています
  4. デプロイメント・ログをレビューします(図28-13を参照)。デプロイメント・ログには、デプロイメントがAndroidエミュレータの実行中インスタンスを検出し、Androidデバッグ・ブリッジ・サーバーを起動したことが示されます。「Androidデバッグ・ブリッジの使用方法に関する必知事項」も参照してください。

    図28-13 デプロイメント・ログ

    この図は周囲のテキストで説明しています

28.3.3 Androidデバイスへのアプリケーションのデプロイ方法

MAFアプリケーションは、API 15以降で動作するAndroidデバイスにデプロイできます。前提条件が満たされていることを確認し、タスク内の手順に従って、アプリケーションをデプロイします。このタスクでは、「アプリケーション」メニューで使用できる「デプロイ」「アプリケーションのデバイスへのデプロイ」を選択します。

モバイル・アプリケーションは、API 15以降(プラットフォーム4.0.3)で動作するAndroidデバイスに直接デプロイできます。

始める前に:

Androidデバイスに直接デプロイするためには、JDeveloperをホストする開発コンピュータにデバイスを接続し、そのデバイスを開発モードに設定して、USBデバッグを有効にします。『Oracle Mobile Application Frameworkのインストール』のAndroidデバイスの設定方法に関する項を参照してください。

「Androidオプション」ページで、ビルド・モードとして「デバッグ」を選択します。デバッグ署名資格証明が「Androidプラットフォーム」のプリファレンス・ページで構成されていることを確認します。「アプリケーションの詳細オプションの設定」を参照してください。

Androidデバイスにアプリケーションをデプロイするには:

  1. 「アプリケーション」「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
  2. 「アプリケーションのデバイスへのデプロイ」をクリックしてから、「次へ」をクリックします。
  3. 「サマリー」ページをレビューします。「戻る」または「次へ」をクリックします。
  4. 「終了」をクリックします。

28.3.4 Androidアプリケーションの公開方法

タスク内の手順に従って、アプリケーションを.apkファイルとしてデプロイします。Android開発者のWebサイトに記載された手順に従って、テストとデバッグを済ませたMAFアプリケーションをアプリケーション・マーケットプレイス(Google Playなど)に公開します。

「MAFアプリケーションのテストおよびデバッグ」の説明に従ってアプリケーションのテストとデバッグが完了したら、Android開発者のWebサイト(http://developer.android.com/tools/publishing/publishing_overview.html)の説明に従ってアプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開できます。

始める前に:

デプロイメント・プロファイルの「Androidオプション」ページで、ビルド・モードとして「リリース」を選択します。

注意:

「Android署名オプションの定義」の説明に従って、「Androidプラットフォーム」のプリファレンス・ページ(「ツール」「プリファレンス」「モバイル・アプリケーション・フレームワーク」を選択してアクセス)で署名オプションを構成する必要があります。

アプリケーションを.apkファイルとしてデプロイするには:

  1. 「アプリケーション」「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
  2. 「アプリケーションのパッケージへのデプロイ」をクリックしてから、「次へ」をクリックします。
  3. 「サマリー」ページ(図28-12を参照)をレビューします。「戻る」または「次へ」をクリックします。
  4. 「終了」をクリックします。
  5. アプリケーション・マーケットプレイスにアプリケーションを公開します。

28.3.5 .apkファイル作成時のJDeveloperでの処理

.apkファイルが作成されると、JDeveloperによって、いくつかのファイルのコンテンツが.apkファイルにデプロイされます。

アプリケーションをデプロイすると、次のものが.apkファイルにデプロイされます。

  • adfmsrcの内容

  • .adfフォルダの内容

  • maf-application.xmlおよびmaf-feature.xmlファイル

  • logging.propertiesファイル

  • JVMファイル

28.3.6 最近使用されたデプロイメント・プロファイルの選択

デプロイメント・アクションの選択によって、JDeveloperは「デプロイ」メニューにショートカットを作成して、ユーザーがデプロイメント・アクションを再利用できるようにします。

デプロイメント・アクションを選択すると、JDeveloperによって「デプロイ」メニューにショートカットが作成されます。このショートカットを使用すると、同じデプロイメント・アクションを使用してアプリケーションを簡単に再デプロイできます。

28.3.7 Androidデバッグ・ブリッジの使用方法に関する必知事項

アプリケーションのデプロイメント時に、Androidデバッグ・ブリッジ・サーバーは、デバイスまたはエミュレータを検出するために5回再起動します。デプロイメント・ターゲットが検出されない場合、デプロイメントは終了します。

デプロイメントでは、デバイス(デバイスにデプロイする場合)またはエミュレータ(Androidエミュレータにデプロイする場合)が検出されるまで、Androidデバッグ・ブリッジ・サーバーが5回再起動されます。どちらも検出されない場合、図28-14に示すとおり、デプロイメント・プロセスは終了します。

図28-14 終了されたデプロイメント

この図は周囲のテキストで説明しています

デプロイメント前にAndroidデバッグ・ブリッジ・コマンド行ツールを使用する場合は、デプロイメントの完了後に同じコマンドを再度入力する必要があります。たとえば、デプロイメントの前にエミュレータまたはデバイスのロギング情報を表示するためにadb logcatと入力した場合、ロギング出力の取得を再開するには、アプリケーションがデプロイされた後で再度adb logcatと入力する必要があります。Androidデバッグ・ブリッジ・コマンド行ツールは、Android SDKインストールのplatform-toolsディレクトリ内に配置され、ここから実行されます。このツールの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/help/adb.html)を参照してください。

28.4 iOSアプリケーションのデプロイ

MacコンピュータからiTunesを使用してiOSシミュレータまたはiOSデバイスにMAFアプリケーションをデプロイします。「デプロイメント・アクション」オプションを使用するか、手動でOJDeployコマンド行ツールを使用してアプリケーションをデプロイします。

図28-15に示された「デプロイメント・アクション」ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイするか、iTunesを通してデバイスにデプロイできます。iOSアプリケーションはAppleコンピュータからのみデプロイできます。iOSシミュレータへのデプロイメントを行うために、iOS Developer ProgramまたはiOS Developer Enterprise Programへのメンバーシップを取得する必要はありません。Apple開発者として登録されていれば、App Storeから入手できないXcodeのバージョンにアクセスできるので、問題ありません。iOSデバイスへのデプロイメントに必要なiOS開発者プログラム(「iOSデバイスへのアプリケーションのデプロイ方法」「App StoreへのiOSアプリケーションの配布方法」で説明されています)の詳細は、https://developer.apple.com/programs/を参照してください。

図28-15 「デプロイメント・アクション」ダイアログ(iOSアプリケーション用)

この図は周囲のテキストで説明しています

ヒント:

「コマンド行からのMAFアプリケーションのデプロイ」で説明されているように、「デプロイメント・アクション」ダイアログのかわりに、OJDeployコマンド行ツールを使用してモバイル・アプリケーションをiOSプラットフォームに手動でデプロイすることもできます。

28.4.1 iOSデプロイメント・プロファイルの作成方法

デプロイメント・プロファイルのプロパティ・エディタを使用して、iOSプラットフォームのデプロイメント・プロファイルを作成します。前提条件が満たされていることを確認し、タスク内の手順に従って、プロファイルを作成します。このタスクでは、「アプリケーション」メニューの「アプリケーション・プロパティ」で使用できる「iOSオプション」をデプロイメントに選択します。

iOSの場合は、デプロイメント・プロファイルのプロパティ・エディタを使用して、iOSアプリケーションのビルド構成とアプリケーション・アイコンの場所を定義します。

始める前に:

JDeveloperも実行されているAppleコンピュータに、Xcodeをダウンロードします(Xcodeには、Xcode IDE、パフォーマンス分析ツール、iOSシミュレータ、Mac OS XおよびiOS SDKが含まれています)。

ヒント:

アプリケーションのコンパイルに最低限必要なサポート対象のバージョンについては、Oracle Technology Network (http://www.oracle.com/technetwork/developer-tools/maf/documentation)で動作保証とサポートのマトリクスを参照してください。

Xcodeはデプロイメント時に使用されるので、JDeveloperからモバイル・アプリケーションをデプロイする前にAppleコンピュータにインストールする必要があります。

ヒント:

Xcodeの最新バージョンはApp Storeから入手できますが、次のサイトから以前のバージョンをダウンロードできます。

https://developer.apple.com/xcode/

このサイトにアクセスするには、Apple IDおよびApple開発者としての登録が必要です。

Xcodeをダウンロードしたら、「iOSプラットフォーム」プリファレンス・ページで、そのxcodebuildツールの場所を入力する必要があります。iOSシミュレータへのデプロイメントの場合は、iOSシミュレータのSDKの場所を入力します。『Oracle Mobile Application Frameworkのインストール』のプラットフォームとフォーム・ファクタに応じた開発環境の構成に関する項を参照してください。

注意:

iTunesとiOSシミュレータの両方を1回以上実行してから、それらの場所をiOSプラットフォームの「プリファレンス」ページに入力します。

「デバイス署名オプションの設定」で説明されているように、モバイル・アプリケーションをiOSデバイスにデプロイする(iOSシミュレータへのデプロイメントではなく)には、iOSプロビジョニング・プロファイルからプロビジョニング・プロファイルと証明書の両方を取得する必要があります。

デプロイメント・プロファイルを作成するには:

  1. 「アプリケーション」「アプリケーション・プロパティ」「デプロイメント」を選択します。
  2. 「デプロイメント」ページで、iOSデプロイメント・プロファイルをダブルクリックします。
  3. 「iOSオプション」を選択します。
  4. デフォルト値をそのまま使用するか、次を定義します。
    • アプリケーション・バンドルID: 必要な場合は、このアプリケーションで使用する、会社のドメイン名を特定するバンドルIDを入力します。アプリケーション・バンドルIDは、iOSデバイスにインストールされた各アプリケーションに対して一意であることと、リバースパッケージ・スタイルの命名規則(つまり、com.<organization name>.<company name>)に従うことが必要です。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『App Distribution Guide』を参照してください。iOSプロビジョニング・ポータルを使用したバンドル・シードID取得の詳細は、「アプリケーションIDの登録」を参照してください。「アプリケーション機能の表示プロパティの設定」も参照してください。

      注意:

      アプリケーション・バンドルIDに空白を含めることはできません。

      それぞれのアプリケーション・バンドルIDは一意であるため、複数のモバイル・アプリケーションを同じデバイスにデプロイできます。アプリケーション・バンドルIDさえ異なっていれば、2つのアプリケーションに同じ名前を指定できます。同じデバイスにデプロイされるモバイル・アプリケーションは、それぞれ別のサンドボックスに配置されます。アプリケーションが相互に認識したり、データを共有することはありません(デバイス・スコープのみが共通になります)。

    • アプリケーション・アーカイブ名: 必要に応じて、.ipaファイルまたは.appファイルの名前を入力します。「デプロイメント・アクション」ダイアログ(図28-15を参照)で「配布パッケージにデプロイ」または「デバイスとの同期のためにiTunesにデプロイ」オプションを選択すると、MAFによって.ipaファイルが作成されます。「アプリケーションのシミュレータへのデプロイ」オプションを選択すると、.appファイルが作成されます。または、デフォルトの名前を使用します。「iOSデバイスへのアプリケーションのデプロイ方法」「App StoreへのiOSアプリケーションの配布方法」を参照してください。

      MAFのデフォルトでは、.ipaファイル(または.appファイル)の名前は、maf-application.xmlファイルで構成されているアプリケーションのid属性に基づいて付けられます。「アプリケーション機能の表示プロパティの設定」を参照してください。

    • 最小iOSバージョン: アプリケーションをデプロイできるiOSバージョンの中で、最も古いものを指定します。デフォルト値は現在のバージョンです。バージョンは、インストールされているSDKのバージョンによって異なります。

    • シミュレータ: アプリケーションをデプロイするシミュレータのハードウェアとiOSバージョンを選択します。ドロップダウン・リストに、デバイスIDとともに使用可能なバージョンが表示されます。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『iOS Simulator User Guide』を参照してください。

    • ファミリ: アプリケーションを実行するiOS製品ファミリを選択します。デフォルト・オプションはiPadとiPhoneの両方です。

28.4.1.1 iOSビルド・オプションの定義

ビルド・オプションを使用すると、デバッグ・モードまたはリリース・モードでアプリケーションをデプロイできます。プロビジョニング・プロファイルと署名済証明書が使用できる場合は、タスク内の手順に従い「iOSオプション」ページを使用して、iOSプラットフォームのビルド・オプションを設定します。

iOSビルド・オプションでは、デバッグまたはリリース・ビットとライブラリによりアプリケーションをデプロイできます。「iOSオプション」ページでは、Oracle Mobile Security Suite (OMSS)によるコンテナ化を有効にすることも可能です。

始める前に:

iOSアプリケーション(.ipaファイル)をiOSデバイスにデプロイするには、インストールの必須コンポーネントであるプロビジョニング・プロファイルと、デバイス上の開発者とアプリケーションを特定する署名済証明書が必要です。「iOSデバイスへのアプリケーションのデプロイに関する必知事項」で説明されているように、これらはiOSプロビジョニング・ポータルから取得する必要があります。また、「デバイス署名オプションの設定」で説明されているように、「iOSプラットフォーム」のプリファレンス・ページでプロビジョニング・プロファイルの場所と証明書の名前を入力する必要があります。

ビルド・オプションを設定するには:

  1. 「アプリケーション」「アプリケーション・プロパティ」「デプロイメント」を選択します。
  2. 「デプロイメント」ページで、iOSデプロイメント・プロファイルをダブルクリックします。
  3. 「iOSオプション」を選択します。
  4. 次のビルド・オプションから選択します。
    • プッシュ通知環境: デプロイしたアプリケーションが本番用Apple Push Notification Service (APNs)サーバーを使用する場合はProductionを選択します。また、開発用APNsサーバーを使用する場合はDevelopmentを選択します。プッシュ通知を有効化するPushPluginプラグインを選択していないと、MAFは、プッシュ通知環境の値を無視します。詳細は、「プッシュ通知の有効化」を参照してください。

    • アプリケーション・トランスポート・セキュリティの無効化 —アプリケーション・トランスポート・セキュリティ(ATS)は、アプリケーションからのネットワーク・リクエストを制限して、承認されたセキュア・トランスポート・プロトコルのみを使用するセキュリティ・ポリシーです。MAFではATSはデフォルトで有効になっています。「アプリケーション・トランスポート・セキュリティの無効化」を選択すると、ATSが無効な状態でMAFアプリケーションがデプロイされます。

    • デバッグ: 開発用のビルドの場合はこのオプションを選択します。デバッグ・ビルドを指定すると、デバッグ・シンボルが含まれます。「iOSプラットフォームでのデバッグ方法」および「JavaコードおよびJavaScriptのデバッグを有効にする方法」も参照してください。

    • リリース: リリース・ビットおよびライブラリを使用してビルドをコンパイルする場合に選択します。

      ヒント:

      アプリケーションのパフォーマンスをテストするには、デバッグ・モードではなくリリース・モードを使用します。

    • その他のビルド引数 - XcodeでMAFアプリケーションをビルドするときに使用できる追加の引数を指定します。

    • Oracleモバイル・セキュリティ・スイートの有効化: Oracle Mobile Security Suiteによるコンテナ化を有効にする場合に選択します。「Oracle Mobile Security Suiteでのデプロイ」を参照してください。

実行時に、MAFは、図28-9に示すように、赤の三角形内に感嘆符で表されるデバッグ・シンボルを重ねることで、アプリケーションがデバッグ・モードでデプロイされたことを示します。

28.4.1.2 デバイス署名オプションの設定

プロビジョニング・プロファイルの場所、開発チームの識別子およびアプリケーションの開発に必要な署名アイデンティティをデバイスとの同期のために配布パッケージまたはiTunesに指定します。

iOSの「iOSプラットフォーム」のプリファレンス・ページには、開発コンピュータ上のプロビジョニング・プロファイルの場所、チームの識別子および署名アイデンティティの名前のためのフィールドが含まれています。アプリケーションを配布パッケージにデプロイしたり、デバイスとの同期のためにiTunesにデプロイする場合は、これらのパラメータを定義する必要があります。署名アイデンティティはアプリケーションのコード署名に使用します。Xcodeで開発用証明書が必要な場合、証明書とその公開鍵はメンバー・センターに格納され、署名アイデンティティ(公開鍵と秘密鍵を保持する証明書)は開発者のキー・チェーンに格納されます。この秘密鍵がないとコード署名できません。

注意:

モバイル・アプリケーションをiOSシミュレータにデプロイする場合は、署名アイデンティティとプロビジョニング・プロファイルのいずれも不要です。

署名オプションを設定するには:

  1. 「JDeveloper」「プリファレンス」「モバイル・アプリケーション・フレームワーク」「iOSプラットフォーム」を選択します。
  2. 「プロビジョニング・プロファイル」ドロップダウン・リストからプロビジョニング・プロファイルを選択します。
  3. 「チーム」フィールドに、チームの識別子を入力します。このフィールドには、手順2で選択したプロビジョニング・プロファイルからMAFによって抽出された値が自動的に移入されます。
  4. 「署名アイデンティティ」フィールドに、コードの作成者(開発者や会社など)を特定する開発者または配布証明書の名前を入力します。証明書の名前は、Keychain Accessユーティリティ(Applicationsフォルダからアクセス)を使用して表示できます。Keychain Accessユーティリティから名前全体をコピーしてください。このフィールドに入力された名前は、次の例のように表示されます。
    iPhone Developer: John Smith (Oracle123)

    図28-16 iOSプラットフォームの「プリファレンス」ページの「デバイス署名」セクション

    この図は周囲のテキストで説明しています

    ヒント:

    コマンド行からJDeveloperを起動するときの起動パラメータを使用したプリファレンス設定の詳細は、「起動パラメータを使用したコマンド行からのプリファレンス設定」を参照してください。

注意:

プロビジョニング・プロファイルには、アプリケーションの開発バージョン用とリリース・バージョン用の両方があります。アプリケーションのリリース・バージョンに使用されるプロビジョニング・プロファイルは、あらゆるデバイスにインストールできます。一方、開発バージョン用のプロビジョニング・プロファイルは、IDがプロファイルに埋め込まれたデバイスのみにインストールできます。iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)にある『App Distribution Guide』を参照してください。

28.4.1.3 iOSアプリケーションへのカスタム・イメージの追加

タスク内の手順に従って、アプリケーションをリブランドします。リブランドは、アプリケーションのアイコンとアートワークに使用されているデフォルトのOracleイメージをカスタムのイメージでオーバライドすることで実行します。

「アプリケーション・イメージ」ページでは、アプリケーション・アイコンおよびアートワークに使用されるデフォルトのOracleイメージをカスタム・イメージでオーバーライドして、アプリケーションを再ブランディングできます。図28-17に示されているこのページのオプションでは、様々な状況、デバイスの向きおよびデバイスの解像度で使用されるカスタム・イメージの場所を入力できます。iOSアプリケーション・アイコン・イメージの詳細は、『iOS Human Interface Guidelines』のIcon and Image Designセクションを参照してください。このドキュメントは、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)から入手できます。

注意:

すべてのイメージはPNG形式であることが必要です。

カスタム・イメージを追加するには:

  1. 「アプリケーション」「アプリケーション・プロパティ」「デプロイメント」を選択します。
  2. 「デプロイメント」ページで、iOSデプロイメント・プロファイルをダブルクリックします。
  3. iOS用デプロイメント・プロファイルのプロパティ・エディタの左側にあるツリーから、「iOSオプション」「アプリケーション・イメージ」を選択します。
  4. 「参照」を選択し、アイコン・イメージを選択して、iTunesによって.ipaファイルに割り当てられるデフォルトのAppleイメージをオーバーライドします。このイメージはすべてのアプリケーションに必要とされ、iPhoneアプリケーションとiPadアプリケーションのどちらも512 x 512ピクセルであることが必要です。「iTunesアートワークに関する必知事項」を参照してください。
  5. 使用可能なイメージ・タイプをツリーに表示するデバイス・タイプを選択します。デフォルトでは、MAFはiPadおよびiPhoneデバイスで使用可能なすべてのイメージ・スタイルおよびイメージ・タイプを表示します。ただし、図28-17に示すように、デバイス・タイプを選択して選択を絞り込むことができます。MAFは、「アイコン・フォルダ」フィールドに、該当するイメージ・ファイルが格納されているアプリケーションのResourcesディレクトリ内の場所を表示します。

    図28-17 アプリケーション・イメージの選択

    このイメージについては周囲のテキストで説明しています。
  6. ツリーからイメージ・タイプを選択します。
  7. 別のイメージを選択するには、「ファイル」フィールドで「参照」を選択します。このイメージ・ファイルは、現在のアプリケーション内に存在する必要があります。

    デプロイメント時に、JDeveloperはカスタム・イメージ・ファイルをデプロイメント・プロファイルにコピーし、その名前をデフォルト・イメージの名前に一致するように変更します。

  8. 「OK」をクリックします。

28.4.1.4 iTunesアートワークに関する必知事項

iTunesでiOSデバイスにデプロイされたアプリケーションは、デフォルトのOracleイメージを使用します。アプリケーションのバージョン間の違いを区別するために、デプロイ済のアプリケーションのアイコンとしてiTunesアートワーク・イメージを選択できます。

デフォルトでは、iTunesを介してiOSデバイスにデプロイされたモバイル・アプリケーションは、特に指定がないかぎり、デフォルトのOracleイメージを使用します。

デプロイされるアプリケーションのアイコンとしてiTunesアートワーク・イメージを選択することで、デフォルトのイメージをオーバーライドします。イメージを使用してアプリケーションのバージョンを区別できます。図28-18に、デフォルト・イメージとユーザーが選択したイメージの違いを示します。Application4にはデフォルト・イメージが、Application6にはユーザーが選択したイメージ(512 x 512ピクセルにスケールを変更したOracleアイコン)が表示されています。

図28-18 カスタムとデフォルトのアプリケーション・アイコン

この図は周囲のテキストで説明しています

デプロイメント時に、MAFは、.ipaファイルのトップレベルのiTunesArtworkというファイルにそのiTunesのアートワーク・イメージを追加することで、iTunesでそのアイコンが表示されるようにします。

注意:

iTunesアートワークがアプリケーションにパッケージ化されるのは、デバイスとの同期のためにiTunesにデプロイというデプロイメント・タイプを選択した場合のみです。

28.4.1.5 表示をデバイスの特定の向きに制限する方法

MAFは、iPhoneとiPadのデバイス表示方向をすべてサポートしています。タスク内の手順に従って、アプリケーションの表示を特定のデバイス方向に制限します。

デフォルトでは、MAFは、iPhoneとiPadの両方ですべての向きをサポートしています。たとえば、iPads上で上下逆の縦向きでのみ表示する必要があるアプリケーションでは、「デバイスの向き」ページ(図28-19を参照)を使用して、アプリケーションの回転をこれらの向きのみに制限できます。

図28-19 デバイスの向きの選択

この図は周囲のテキストで説明しています

アプリケーションの表示をデバイスの特定の向きに制限するには:

  1. 図28-19に示すように、「デバイスの向き」を選択します。
  2. 表28-3にリストされた向きの中から、不要な向きをすべて消去します。デフォルトでは、MAFは、これらすべてのデバイスの向きにデプロイします。デフォルトでは、これらの向きがすべて選択されています。

    表28-3 iPhoneデバイスの向き

    アイコン 説明
    この図は周囲のテキストで説明しています

    iPad、縦: ホーム・ボタンは画面の下部。

    この図は周囲のテキストで説明しています

    iPad、上下逆: ホーム・ボタンは画面の上部。

    この図は周囲のテキストで説明しています

    iPad、横左: ホーム・ボタンは画面の左側。

    この図は周囲のテキストで説明しています

    iPad、横右: ホーム・ボタンは画面の右側。

    この図は周囲のテキストで説明しています

    iPhone、縦: ホーム・ボタンは画面の下部。

    この図は周囲のテキストで説明しています

    iPhone、上下逆: ホーム・ボタンは画面の上部。

    この図は周囲のテキストで説明しています

    iPhone、横左: ホーム・ボタンは画面の左側。

    この図は周囲のテキストで説明しています

    iPhone、横右: ホーム・ボタンは画面の右側。


  3. 「OK」をクリックします。

28.4.1.6 デバイスの向きを選択解除する場合の処理

デバイスの向きの選択を解除すると、ソースの.plistファイルが更新されます。

デバイスの向きを選択解除すると、ソース.plistファイルが更新されます。

iPadマルチタスキングを有効にするには、すべてのiPadの向きをサポート(選択)する必要があります。iPadマルチタスキングが有効な場合は、分割表示モードなどの機能を互換性のあるiOSデバイスで使用できます。

28.4.2 iOSシミュレータへのiOSアプリケーションのデプロイ方法

前提条件が満たされていることを確認し、タスク内の手順に従って、iOSシミュレータにアプリケーションをデプロイします。このタスクでは、「デプロイ」「アプリケーションのシミュレータへのデプロイ」を使用します。

「デプロイメント・アクション」ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイできます。

始める前に:

iOSシミュレータへのデプロイメントを可能にするには、次のタスクを実行する必要があります。

  • Xcodeをインストールして実行し、ライセンス契約を受諾して、指示に従ってインストール後のその他のタスクを実行します。

    注意:

    アプリケーションをiOSシミュレータにデプロイする前に、最低1回はXcodeを実行する必要があります。これを行わないと、デプロイメントに失敗します。

  • デプロイメント・プロファイルの「iOSオプション」ページで、「デバッグ」を選択し、「OK」をクリックします。

  • アプリケーションをデプロイする前に、iOSシミュレータが実行されている場合は、そのシミュレータを停止します。シミュレータを停止しなかった場合は、デプロイメント中にその処理が実行されます。

  • iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)にある『Simulator User Guide』を参照してください。iOSシミュレータはXcodeとともにインストールされます。

iOSシミュレータにアプリケーションをデプロイするには:

  1. 「アプリケーション」「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
  2. 「アプリケーションのシミュレータへのデプロイ」をクリックしてから、「次へ」をクリックします。
  3. 「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
    • アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。

    • ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。

    • シグネチャ: アプリケーションを作成した開発者または会社。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • チーム: チームの識別子。このフィールドには、プロビジョニング・プロファイルからMAFによって抽出された値が自動的に移入されます。

    注意:

    iOSシミュレータへのデプロイメントでは、署名アイデンティティ、チームおよびプロビジョニング・プロファイルの値を定義する必要はありません。このデプロイメント・シナリオでは、「サマリー」ページでこれらの値について<指定なし>と表示されます。

28.4.3 iOSデバイスへのアプリケーションのデプロイ方法

iOS Developer ProgramまたはiOS Developer Enterprise Programのメンバーは、「デプロイ」「デバイスとの同期のためにiTunesにデプロイ」を使用して、iOSデバイスにアプリケーションをデプロイするタスクの手順を実行できます。また、iTunes Mediaのデフォルト・ディレクトリ変更することもできます。

「デバイスとの同期のためにiTunesにデプロイ」オプションを使用すると、モバイル・アプリケーションをデバッグおよびテスト用のiOSデバイスにデプロイできます。iOSデバイスまたは配布サイトへのデプロイメントには、iOS Developer ProgramまたはiOS Developer Enterprise Programへのメンバーシップが必要です。詳細は、https://developer.apple.com/programs/を参照してください。

始める前に:

JDeveloperからiOSデバイスにアプリケーションを直接デプロイすることはできません。アプリケーションは、Apple iTunesのApplicationsフォルダからデプロイする必要があります。そのためには、次のタスクを実行する必要があります。

  • Apple iTunesを開発コンピュータにダウンロードし、それを1回以上実行して、必要なフォルダとディレクトリを作成します。

  • 「iOSプラットフォーム」のプリファレンス・ページで、Automatically Add to iTunesフォルダの場所(アプリケーションのデプロイメントに使用される場所)を設定します(図28-20を参照)。

    ヒント:

    ユーザーのホーム・ディレクトリ(/Users/<username>/Music/iTunes/iTunes Media/Automatically Add to iTunes.localized)は、iTunes Mediaフォルダのデフォルト・ディレクトリですが、このフォルダの場所は次のように変更できます。

    1. iTunesで、「Edit」「Preferences」「Advanced」を選択します。

    2. 「Change」をクリックし、新しい場所を参照します。

    3. ライブラリを統合します。

    4. 元のiTunes Mediaフォルダを削除します。

    手順の詳細は、Apple Support (http://support.apple.com)を参照してください。

    また、iOSプラットフォームの設定ページでも場所を更新する必要があります。

    図28-20 iTunes Mediaフォルダの場所の設定

    この図は周囲のテキストで説明しています
  • プロビジョニング・プロファイル、チーム識別子および署名アイデンティティの名前と場所を「iOSプラットフォーム」のプリファレンス・ページで入力します。iOS Provisioning Portalによって、iOSデバイスへのデプロイメントまたはApp Storeや内部ダウンロード・サイトへの.ipaファイルの公開に必要な証明書とプロビジョニング・プロファイルが生成されます。

    注意:

    iOSプロビジョニング・プロファイル、チーム識別子および署名アイデンティティを設定していないと、デバイスまたはアーカイブにデプロイするデプロイメントは失敗します。MAFでは、このような状況でデプロイに失敗したアプリケーションがログに記録されます。詳細は、「iOSデバイスへのアプリケーションのデプロイに関する必知事項」を参照してください。

  • デプロイメント・プロファイルの「iOSオプション」ページで、「デバッグ」を選択して「OK」をクリックします。

  • iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で入手可能な『App Distribution Guide』を参照してください。

iOSデバイスにアプリケーションをデプロイするには:

  1. 「アプリケーション」「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。

  2. 「デバイスとの同期のためにiTunesにデプロイ」「次へ」を選択します。

  3. 「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。

    • アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。

    • ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。

    • シグネチャ: アプリケーションを作成した開発者(または会社)。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • チーム: チームの識別子。このフィールドには、プロビジョニング・プロファイルからMAFによって抽出された値が自動的に移入されます。

    注意:

    iTunesへのデプロイメントを可能にするには、「iOSプラットフォーム」のプリファレンス・ページでシグネチャ、チームおよびプロビジョニング・プロファイルの値を指定する必要があります。

  4. iOSデバイスを開発コンピュータに接続します。

  5. iTunesを開いてデバイスを同期化します。

28.4.4 iOSデバイスにアプリケーションをデプロイする場合の処理

デプロイメントに成功すると、図28-18のようにアプリケーションがiTunesの「Apps」フォルダに表示されます。

28.4.5 iOSデバイスへのアプリケーションのデプロイに関する必知事項

プロビジョニング・プロファイルは、iOSデバイスにアプリケーションをデプロイする前に、iOS Provisioning Portalを使用して作成しておく必要があります。

iOS Developer Programのメンバーのみがアクセス可能なiOS Provisioning Portalを使用して最初にプロビジョニング・プロファイルを作成しないかぎり、iOSアプリケーション(つまり、.ipaファイル)をiOSデバイスにデプロイしたり、App Storeまたは内部のホストされたダウンロード・サイトに公開することはできません。「デバイス署名オプションの設定」の説明に従って、「iOSプラットフォーム」のプリファレンス・ページでプロビジョニング・プロファイルの場所と証明書の名前を入力します。

『App Distribution Guide』(http://developer.apple.com/library/ios/navigation/のiOS Developer Libraryで入手可能)で説明されているように、プロビジョニング・プロファイルによって開発用証明書、デバイスおよびアプリケーションIDが関連付けられます。iOS Provisioning Portalでは、これらのエンティティとプロビジョニング・プロファイルを作成できます。

ヒント:

プロビジョニング・プロファイルをダウンロードしたら、このファイルをダブルクリックしてLibrary/MobileDevice/Provisioning Profileディレクトリに追加してください。

図28-21 iOS Provisioning Portal

この図は周囲のテキストで説明しています

28.4.5.1 iOS開発用証明書の作成

iOS開発用証明書により、開発者のアイデンティティは公開鍵と秘密鍵に電子的に関連付けられます。証明書をダウンロードして開発者のコンピュータにインストールし、アプリケーションにデプロイメントのための署名をします。

証明書は、開発者のアイデンティティに関する情報と公開鍵および秘密鍵が結合された電子的なドキュメントです。iOS開発用証明書がOS開発者として識別し、デプロイメントのためのアプリケーションの署名を有効にするので、証明書をダウンロードしたら、基本的に開発者自身のアイデンティティを開発コンピュータにインストールします。iOSオペレーティング環境では、すべての証明書がKeychainによって管理されます。

iOS Provisioning Portalの「Certificates」ページを使用して、CSR(証明書署名リクエスト)をログに記録します。CSRを完了すると、iOS Provisioning PortalによってiOS開発用証明書が発行されます。

28.4.5.2 テストおよびデバッグ用のAppleデバイスの登録

iOS Provisioning Portalの「Devices」ページにある「Current Available Devices」リストにAppleデバイスが含まれている必要があります。これにより、そのデバイスがアプリケーションのデプロイが可能なデバイスとして一意に識別されます。

開発コンピュータに証明書をインストールしたら、「Current Available Devices」タブ(iOS Provisioning Portalの「Devices」ページ内)をレビューして、開発者自身(またはその会社)がテストやデバッグに使用するAppleデバイスを特定します。シリアル番号のような一意のデバイス識別子(UDID)によって各デバイスを識別するこのリストにデバイスが含まれていないかぎり、アプリケーションはデプロイできません。

28.4.5.3 アプリケーションIDの登録

アプリケーションIDによって、デバイス上のアプリケーションは一意に特定されます。アプリケーションIDは、バンドルID (「iOSプラットフォーム」の「プリファレンス」ページに示されるアプリケーションIDと同じ)と、Apple社から配布される10文字(英数字)の接頭辞で構成されます。

アプリケーションIDは、デバイス上のアプリケーションの一意の識別子です。アプリケーションIDは、「MAFアプリケーションの表示プロパティの設定」で説明されている書式の、バンドルIDと呼ばれる管理者が作成したリバース・ドメイン名の前に、バンドル・シードと呼ばれるAppleが生成した10文字の英数字文字列が付加された構成になります。図28-22には、他のアプリケーションとファイルやKeychainを共有しない、一意のアプリケーションIDが示されています。

図28-22 明示的なアプリケーションID

この図は周囲のテキストで説明しています

8E549T7128.com.oracle.*のように、アプリケーション名にワイルドカード文字(*)を使用すると、一連のアプリケーション間でアプリケーションIDを共有できます。たとえば、com.oracle.MAF.*という管理者名がiOSプロビジョニング・ポータルにある場合、これにより、異なるアプリケーション(com.oracle.MAF.application1およびcom.oracle.MAF.application2)を指定できます。

注意:

アプリケーションでプッシュ通知を受信する場合、アプリケーションIDは、ワイルドカード文字ではなく、完全な一意のIDである必要があります。ワイルドカードによって識別されるアプリケーションでは、プッシュ通知を受信できません。iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で入手可能な『Local and Push Notification Programming Guide』の「Provisioning and Development」を参照してください。

アプリケーション間で8E549T7128などの同じ接頭辞を共有する場合、それらのアプリケーションでは、ファイルまたはキー・チェーンを共有できます。

注意:

バンドルIDは、「iOSプラットフォーム」のプリファレンス・ページで設定されたアプリケーションIDと一致する必要があります。

28.4.6 App StoreへのiOSアプリケーションの配布方法

iOSデバイス上でのアプリケーションのテストとデバッグが終了したら、広範囲に配布するために、App Storeまたは内部ダウンロード・サイトに公開できます。前提条件が満たされていることを確認し、タスク内の手順に従って、iOSアプリケーションをApp Storeに公開します。

iOSデバイス上でのアプリケーションのテストとデバッグが終了したら、App Storeまたは内部ダウンロード・サイトを通してより広範なオーディエンスにアプリケーションを配布できます。App Storeにアプリケーションを公開するには、.ipaファイルをiTunes Connectに送信する必要があります。これによって、.ipaファイルをiTunesに追加して、アプリケーションを更新し、テスト・ユーザーを作成することが可能になります。

始める前に:

アプリケーションを配布する前に、次のタスクを実行する必要があります。

  • 図28-20に示すように、iOSプラットフォームの「プリファレンス」ページで、自動的にiTunesに追加ディレクトリの名前を入力します。

    ヒント:

    この場所を入力する前に、iTunesを1回以上実行します。「iOSデバイスへのアプリケーションのデプロイ方法」も参照してください。

  • 実際のiOSデバイス上でアプリケーションをテストします。「iOSデバイスへのアプリケーションのデプロイ方法」を参照してください。

  • iOS Provisioning Portalを通して配布証明書を取得します。

    注意:

    配布証明書を作成できるのは、チーム・エージェントのみです。

  • .ipaファイルをiTunesに配布するための、iTunes Connectアカウントを取得します。詳細は、http://developer.apple.com/のApp Store配布ガイドラインを参照してください。

  • iOS Developer Library (http://developer.apple.com/library/ios/navigation/)で入手可能な『iTunes Connect Developer Guide』を参照してください。

  • デプロイメント・プロファイルの「iOSオプション」ページで、ビルド・モードとしてアプリケーション配布ガイドリリースを選択し、「OK」をクリックします。

iOSアプリケーションをApp Storeに配布するには:

  1. 「アプリケーション」「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
  2. 「配布パッケージにデプロイ」を選択します。
  3. 「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
    • アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。

    • ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。

    • シグネチャ: アプリケーションの作成者。デプロイメント・プロファイルの「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。

    • チーム: チームの識別子。このフィールドには、プロビジョニング・プロファイルからMAFによって抽出された値が自動的に移入されます。

    注意:

    .ipaファイルがiTunesで受け入れられるようにするには、「iOSプラットフォーム」のプリファレンス・ページでシグネチャ、プロビジョニング・プロファイルおよびチームの値を指定する必要があります。

  4. iTunes Connectにログインします。
  5. .ipaファイルをiTunes Connectに送信して検討します。詳細は、『iTunes Connect Developer Guide』(http://developer.apple.com/library/ios/navigation/)を参照してください。
  6. バイナリの更新の詳細は、『iTunes Connect Developer Guide』(http://developer.apple.com/library/ios/navigation/)を参照してください。

28.5 ユニバーサルWindowsプラットフォームへのMAFアプリケーションのデプロイ

MAFアプリケーションは、PowerShellを使用することで、ローカルのデプロイメント・コンピュータまたはインストール・パッケージにリリース・モードまたはデバッグ・モードのどちらかでいデプロイできます。リストに示された設定タスクと構成タスクを完了して、すぐに使用できるWindows1デプロイメント・プロファイルでアプリケーションをデプロイします。

MAFアプリケーションは、アプリケーションを開発するローカル・マシン、またはサポートされているUWPデバイス上へのアプリケーションのインストールに使用するインストール・パッケージにデプロイできます。

MAFには、UWPにデプロイするアプリケーション用に2つのビルド・モードが用意されています。開発サイクル中にアプリケーションをテストおよびデバッグする場合は、デバッグ・モードを使用します。リリースの準備が完了したアプリケーションをデプロイする場合は、リリース・モードを使用します。

リリースの準備が完了したアプリケーションは、Windowsストアに公開できません。別のメカニズムを選択して、アプリケーションを配布します。MAFではPowerShellスクリプトがインストール・パッケージに含まれており、これを実行するとアプリケーションがUWPデバイスにインストールされます。

UWPへのアプリケーションのデプロイを試行する前に、次の設定タスクと構成タスクを実行します。

  1. 開発マシンが、MAFアプリケーションをUWPにデプロイするための要件を満たしていることを確認します。使用するUWPデバイスでは、Windows 10オペレーティング・システムが実行される必要があります。このマシンで開発者モードを有効にする必要があります。

    詳細は、『Oracle Mobile Application Frameworkのインストール』のWindowsプラットフォームにデプロイするMAFアプリケーションのインストール要件に関する項を参照してください。

  2. MicrosoftのVisual Studioソフトウェアをインストールします。Visual Studioパッケージには、UWPにアプリケーションをデプロイするために必要な、Windows SDKが含まれています。

    詳細は、『Oracle Mobile Application Frameworkのインストール』のユニバーサルWindowsプラットフォーム用の開発ツールの設定に関する項を参照してください。

  3. デプロイするアプリケーションにデジタル署名するための証明書(個人情報交換ファイル)を作成します。

    詳細は、『Oracle Mobile Application Frameworkのインストール』のMAFアプリケーション用のPFXファイルの作成に関する項を参照してください。

  4. 「Windowsプラットフォーム」ダイアログに次の値を入力します(図28-23を参照)。

    • Visual StudioソフトウェアとともにインストールされるWindows SDKの場所。

    • アプリケーションの署名に使用する証明書の場所およびパスワード(必要な場合)。MAFアプリケーションをデバッグ・モードとリリース・モードの両方でデプロイする場合は、これを「デバッグ」ダイアログと「リリース」ダイアログの両方で実行します。

    • 「ハッシュ・アルゴリズム」フィールドは無視します。MAFでは使用しません。

    JDeveloperの「ツール」メニューから「Windowsプラットフォーム」ダイアログにアクセスするには、図28-23に示すように、「プリファレンス」「モバイル・アプリケーション・フレームワーク」の順にクリックします。

図28-23 MAFアプリケーションをデプロイする場合の「Windowsプラットフォーム」の「プリファレンス」

このイメージについては周囲のテキストで説明しています

MAFには、デバッグ・モードでMAFアプリケーションをデプロイするための、すぐに使用できるデプロイメント・プロファイル(Windows1)が用意されています。開発マシンおよび環境がセットアップ要件と構成要件を満たしている場合は、アプリケーションをローカル・マシンまたはパッケージにデプロイできます。

このすぐに使用できるデプロイメント・プロファイルを編集することも、1つまたは複数の新しいデプロイメント・プロファイルを作成することもできます。新しいデプロイメント・プロファイルを作成するか、既存のプロファイルを編集して、次のことを実行できます。

  • アプリケーション用に追加のライブラリおよびプロファイル依存性を指定します。

  • ビルド・モードをデバッグまたはリリースから選択します。

  • アプリケーション・バンドルID、アーカイブ名、バージョンなどのオプションを指定します。

  • アプリケーションがスプラッシュ画面でそのロゴをレンダリングするために使用するイメージ、およびユーザーのデバイスに表示されるアイコンを指定します。

デプロイメント・プロファイルの編集方法または作成方法の詳細は、「デプロイメント・プロファイルでの作業」を参照してください。各ダイアログで構成できるフィールドについて情報を得るために、デプロイメント・プロファイルのダイアログで「ヘルプ」をクリックします。

アプリケーションをデプロイする前に、デプロイメントを妨げる可能性のある次の問題に注意してください。

  • Microsoft Windowsでは、ディレクトリおよびファイルのパスの最大長が設定されています。MAFアプリケーションのデプロイメントは、MAFアプリケーションのパスが最大パス長を超過すると失敗します。この問題を回避するには、ディレクトリのパスの長さがWindowsで規定されている最大長未満の場所にMAFアプリケーションを配置します。最大パス長の制限の詳細は、Microsoftのドキュメントを参照してください。

  • 「アプリケーションのローカル・マシンへのデプロイ」オプションを使用してMAFアプリケーションをデプロイする前に、他のプロセスがMAFアプリケーションのデータ・フォルダを使用していないことを確認します。アプリケーションのデータ・フォルダは、通常、C:\Users\[userName]\AppData\Local\Packages\[appBundleId]_[id]にあります。別のプロセスがこのフォルダを使用しているシナリオの例には、メモ帳などのアプリケーションでフォルダ内のファイルを開いている場合があります。どのアプリケーション・プロセスがディレクトリやファイルを使用しているか判別できない場合は、問題を解決するためにマシンを再起動します。

  • 連絡先プラグインを使用するアプリケーションをUWPにデプロイするときには、連絡先プラグインがmaf-plugins.xmlのプラグイン・リストで最初にリスとされていることを確認します。

デバッグ・モードでデプロイするアプリケーションのデバッグ方法の詳細は、「ユニバーサルWindowsプラットフォームでJavaコードをデバッグする方法」を参照してください。

28.5.1 ユニバーサルWindowsプラットフォームへのMAFアプリケーションのデプロイ方法

アプリケーションをUWPにデプロイする、Windows用MAFのデプロイメント・プロファイルを使用してアプリケーションをデプロイします。

MAFアプリケーションをUWPにデプロイするには:
  1. JDeveloperのメイン・メニューから、「アプリケーション」「デプロイ」「Windows1」を選択します。
    ここで、「Windows1」は、Windows用MAFのデプロイメント・プロファイルです。
  2. 表示されるダイアログのリストから適切なデプロイメント・オプションを選択します。
  3. 「終了」をクリックします。

28.5.2 ユニバーサルWindowsプラットフォームへのMAFアプリケーションのデプロイ時に行われる処理

「アプリケーションのローカル・マシンへのデプロイ」オプションと「アプリケーションのパッケージへのデプロイ」オプションのどちらを選択したかによって、MAFはアプリケーションをコンピュータまたはインストール・パッケージにデプロイします。

「アプリケーションのローカル・マシンへのデプロイ」オプションを選択した場合、MAFは使用しているマシンにアプリケーションをデプロイし、そこにアプリケーションをインストールします。図28-24の前景は、リリース・モードでローカル・マシンにデプロイされたWorkBetterサンプル・アプリケーションの例です。図28-24の背景では、Windows 10コンピュータの「アプリと機能」ページのインストール済アプリケーション内にWorkBetterサンプル・アプリケーションがリストされていることがわかります。

デバッグ・モードでデプロイしたMAFアプリケーション画面の左上に赤いアイコンが表示され、アプリケーションがデバッグ・モードであることを示します。リリース・モードでデプロイしたアプリケーションと同様に、このアプリケーションはWindows 10コンピュータの「アプリと機能」ページで表示とアンインストールを実行できます。

図28-24 Windowsローカル・マシンにリリース・モードでデプロイされたMAFアプリケーション

このイメージについては周囲のテキストで説明しています。

「アプリケーションのパッケージへのデプロイ」オプションを選択し場合、MAFはアプリケーションを次のディレクトリのインストール・パッケージにデプロイします。

C:\path\to\appRoot\deploy\[DeploymentProfileName]\[deployMode]\MafTemplate\AppPackages

たとえば、「Windows1」デプロイメント・プロファイルを使用してリリース・モードでデプロイされたWorkBetterサンプル・アプリケーション(図28-24を参照)は、次のディレクトリにデプロイされます。

C:\...\PublicSamples\WorkBetter\deploy\Windows1\release\MafTemplate\AppPackages

AppPackagesディレクトリには、別のディレクトリ(MafTemplate_*_Test)が含まれています。この後者のディレクトリの内容を、サポートされているUWPデバイスを持ち、MAFアプリケーションをインストールする必要があるエンド・ユーザーに配布します。このディレクトリにはPowerShellスクリプト(Add-AppDevPackage.ps1)が含まれており、エンド・ユーザーはこれを実行して、アプリケーションをインストールします。このスクリプトに加えて、このディレクトリにはアプリケーション・パッケージ、依存パッケージ、およびアプリケーションに署名した証明書が含まれます。次の例では、これらの内容をリストします。

Add-AppDevPackage.ps1                                 
Add-AppDevPackage.resources
Dependencies
MafTemplate_1.0.0.0_x64.appx
MafTemplate_1.0.0.0_x64.appxsym
MafTemplate_1.0.0.0_x64.cer

MafTemplate_*_Testディレクトリおよびファイルの名前は、「Windowsオプション」ダイアログで指定したバージョン番号とビルド・モードによって異なります(図28-25を参照)。このダイアログには、デプロイメント・プロファイルを編集するときにJDeveloperの「デプロイメント」ページからアクセスします。「デプロイメント」ページにアクセスするには、「アプリケーション」をクリックして「アプリケーションのプロパティ」をクリックします。

たとえば、バージョン番号として2を指定し、「デバッグ」ビルド・モードを選択した場合、ディレクトリ名はMafTemplate_2.0.0.0_x64_Debug_Testになります。バージョン番号が3で、リリース・ビルド・モードの場合は、MafTemplate_3.0.0.0_x64_Testディレクトリが生成されます。

図28-25 デプロイメント・プロファイルの「Windowsオプション」ダイアログ

このイメージについては周囲のテキストで説明しています。

28.6 アプリケーションのMAFクイック・デプロイメントの概要

クイック・デプロイメントにより、いくつかのデプロイメント・ステップが省略され、デプロイ時間の節約になります。クイック・デプロイメントは、新しいファイル・コンテンツまたは変更されたファイル・コンテンツのみをエミュレータまたはシミュレータに渡すことで時間を節約します。

MAFクイック・デプロイメントでは、パフォーマンスを低下させることなく、競争上優位なデプロイメント時間を提供することで、開発者の生産性を確保します。

アプリケーションのクイック・デプロイメント

クイック・デプロイメントでは、通常の完全なデプロイメントとは対照的に、デプロイメント・ステップをスキップすることでデプロイメント時間を短縮します。クイック・デプロイメントは、ファイルの新しい内容または変更された内容のみをエミュレータまたはシミュレータに渡します。

Androidエミュレータでクイック・デプロイメントを使用するには、「アプリケーションのエミュレータへのデプロイ」アクションを選択します。たとえば、Android2という名前のデプロイメント・プロファイルの場合は、「アプリケーション」メニューで「デプロイ」を選択し、「Android2」を選択してから、デプロイメント・アクションを選択します。「AndroidエミュレータへのAndroidアプリケーションのデプロイ」を参照してください。iOSシミュレータでクイック・デプロイメントを使用するには、iOS2という名前のデプロイメント・プロファイルの場合、「アプリケーション」メニューで「デプロイ」を選択し、「iOS2」を選択してから、デプロイメント・アクションを選択します。「iOSシミュレータへのiOSアプリケーションのデプロイ」を参照してください。

注意:

最初のデプロイメントは完全なデプロイメントです。クイック・デプロイメントは、最初の完全なデプロイメントの後で実行できます。

エミュレータまたはシミュレータにアプリケーションをデプロイすると、クイック・デプロイメント・セッション分析が開始されます。分析の結果によって、デプロイメントをクイック・デプロイメントにするか完全なデプロイメントにするかが決定されます。

クイック・デプロイメント・セッション分析は、アプリケーション・ファイルの変更を検出するために開始されます。アプリケーション・ファイルの変更を分析するMAFツールによってクイック・デプロイメントがトリガーされます。分析で同じデプロイメント・プロファイルを使用する前回のクイック・デプロイメント・セッションからデプロイメント・アーティファクトを見つけられない場合は、完全なデプロイメントがトリガーされます。

MAFでは、デプロイメント機能が簡略化されています。JDeveloperでアプリケーション・ファイルに変更を加えると、それらの変更は、エミュレータまたはシミュレータにデプロイされたアプリケーションに移動されるため、再デプロイメントの必要はありません。

クイック・デプロイメントの主な機能

クイック・デプロイメントには次の機能があります。

  • クイック・デプロイメントは、AndroidエミュレータまたはiOSシミュレータにデプロイされているアプリケーションでサポートされます。

  • 仮想ボックス・イメージに対してルート・アクセスが構成されている場合は、そのイメージをクイック・デプロイメントに使用できます。

  • AMXページやタスク・フローへの変更など、JDeveloperでアプリケーションに変更を加えると、その変更はエミュレータやシミュレータにデプロイされているアプリケーションにプッシュされるため、完全なデプロイメントは必要ありません。アプリケーションの変更の完全なリストは、「クイック・デプロイメントをサポートするアーティファクト」を参照してください。

  • ファイルを削除すると、完全なデプロイメントがトリガーされます。

  • アプリケーションのクイック・デプロイメントでは、新しいファイルと変更されたファイルのみが更新されます。クイック・デプロイメントでは追加のデプロイメント処理は実行されません。

28.6.1 クイック・デプロイメントをサポートするアーティファクトについて

特定のアーティファクトやAMXページへの変更、バインディングの変更などが、MAFクイック・デプロイメントをサポートしています。

MAFクイック・デプロイメントをサポートするアーティファクトの変更

次のアーティファクトの変更は、クイック・デプロイメントをサポートします。

  • AMXページへの変更

  • タスク・フローへの変更

  • バインディングへの変更

  • maf-skins.xmlへの変更

  • 新しいスタイル・シートの追加およびmaf-skins.xmlでの参照

  • maf-config.xmlへの変更

  • adf-config.xmlへの変更

  • connections.xmlへの変更

  • wsm-assembly.xmlへの変更

  • sync-config.xmlへの変更

28.6.2 クイック・デプロイメントの要件について

クイック・デプロイメントは、リスとされた前提条件が満たされている場合にのみ開始されます。

MAFアプリケーションのクイック・デプロイメントの前提条件

アプリケーションのクイック・デプロイメントは、次の要件を満たすと開始されます。

  • ターゲットのAndroidエミュレータまたはiOSシミュレータでインストール済アプリケーションが利用可能である。

  • MAFアプリケーションのバンドルIDが一意である。

  • 最初の完全なデプロイメントが完了済である。

28.6.3 クイック・デプロイメント・セッション中の処理

クイック・デプロイメント・セッションは、デプロイメントをクイック・デプロイメントと完全なデプロイメントのどちらにする必要があるかを分析して判断します。このセッションは、アプリケーションのデプロイ時に開始されます。

エミュレータまたはシミュレータにアプリケーションをデプロイすると、クイック・デプロイメント・セッションが開始されます。セッションによって分析が実行され、デプロイメントをクイック・デプロイメントにするか完全なデプロイメントにするかが決定されます。

MAFクイック・デプロイメント・セッションと分析

クイック・デプロイメント・セッションは、次のように処理を進めます。

  • 最初のクイック・デプロイメント・セッション分析を実行します。

  • アプリケーション・ファイルへの次の変更を記録します。

    • 最後のクイック・デプロイメント・セッション以降の変更

    • 同じデプロイメント・プロファイルを使用するアプリケーションへの変更

  • 変更したファイルでクイック・デプロイメントがサポートされている場合は、クイック・デプロイメントのための次のようなステップが実行されます。そうでない場合は、フル・デプロイメントが行われます。

    • 変更したファイルをエミュレータまたはシミュレータにコピーします。

    • エミュレータまたはシミュレータでアプリケーションを再起動します。

28.6.4 アプリケーションの完全なデプロイメントの開始方法

特定のアクションによって、アプリケーションの完全なデプロイメントがトリガーされます。アプリケーションの完全なデプロイメントが必要な場合は、リストされたアクションの1つを開始します。

アプリケーションの完全なデプロイメントをトリガーするアクション

次のアクションは、アプリケーションの完全なデプロイメントをトリガーします。

  • JDeveloperが再起動された。

  • MAF以外のプロジェクトでファイルが変更された。

  • MAF機能プロジェクト内のJavaファイルが作成、変更または削除された。

  • MAF以外のプロジェクトでファイルが変更され、デプロイメントの前に「すべてクリーン」が実行された。

  • MAF機能プロジェクト外において、アプリケーションでファイルが削除された。

  • アプリケーションが別のデプロイメント・プロファイル(前のクイック・デプロイメントで使用されていないプロファイル)を使用してデプロイされた。

  • アプリケーション・レベルの一部のアーティファクトによって、完全なデプロイメントがトリガーされる場合があります。次のアーティファクトへの変更は、完全なデプロイメントをトリガーします。

    • maf-application.xml

    • maf-feature.xml

    • maf-plugins.xml

    • maf.properties

    • logging.properties

28.6.5 アプリケーションの完全なデプロイメントの強制方法

特定のアクションを開始すると、アプリケーションの完全なデプロイメントを強制的に実施できます。リストされたアクションの1つを開始することで、完全なデプロイメントを開始します。

特定のユーザー・アクションは、MAFアプリケーションの完全なデプロイメントを強制します。

MAFアプリケーションの完全なデプロイメントを強制するアクション

アプリケーションの完全なデプロイメントは、複数の方法で強制できます。MAFアプリケーションの完全なデプロイメントをトリガーするには、次のいずれかのアクションを使用します。

  • クイック・デプロイメントをサポートしないファイルを変更します。

  • 「ビルド」をクリックし、「すべてクリーン」をクリックします。

  • AndroidエミュレータまたはiOSシミュレータでアプリケーションをアンインストールします。

  • JDeveloperを再起動します。

28.6.6 クイック・デプロイメントの制限に関する必知事項

MAFアプリケーションのクイック・デプロイメントに関して、いくつかの制限があります。リストに制限を列挙します。

クイック・デプロイメントの制限: ファイルのデプロイメントおよびユーザー・アクション

次のファイルは、デプロイメント中に追加処理が必要になるため、クイック・デプロイメントではデプロイできません。

  • MAF ViewControllerまたはApplicationControllerプロジェクト以外のプロジェクトで作成、更新または削除されたファイル

  • MAF機能プロジェクト外で削除されたアプリケーション・ファイル

  • MAF機能プロジェクト内から削除されたファイル

  • 新規、変更または削除されたJavaファイル

  • アプリケーション・レベルの次のアーティファクトへの変更は、完全なデプロイメントをトリガーします。

    • maf-application.xml

    • maf-feature.xml

    • maf-plugins.xml

    • maf.properties

    • logging.properties

クイック・デプロイメントは、次のユーザー・アクションのコンテキストでは開始できません。

  • 前のクイック・デプロイメントでインストールされたエミュレータ・アプリケーションの変更または削除。

  • 前のクイック・デプロイメントで使用されていないデプロイメント・プロファイルを使用したアプリケーションのデプロイ。

クイック・デプロイメントでは、次の変更は検出または処理されません。

  • 別のエミュレータへのアプリケーションのクイック・デプロイメント。

  • JDeveloperの再起動。JDeveloperの再起動後の最初のデプロイメントは完全なデプロイメントです。再起動後の完全なデプロイメントを確実に行うために必要なユーザー・アクションはありません。クイック・デプロイメントは、最初の完全なデプロイメントの後で実行できます。

28.7 機能アーカイブ・ファイル(FAR)のデプロイ

アプリケーション機能は、MAFビュー・コントローラ・プロジェクトで再利用するために、機能アーカイブと呼ばれるアーカイブにバンドルされます。FARは、作成することもインポートすることもできます。

MAFビュー・コントローラ・プロジェクトによる再利用を可能にするために、アプリケーション機能(一般的に、MAF AMXまたはローカルHTMLとして実装されるもの)は、機能アーカイブ(FAR)というアーカイブにバンドルされます。「MAFアプリケーション・コンテンツの再使用」で説明しているように、FARは、モバイル・アプリケーションで使用できる、アプリケーション機能アーティファクト(アイコン・イメージ、リソース・バンドル、HTML、JavaScriptまたは他の実装固有のファイルなど)が含まれているJARファイルです。(FARには、Javaクラスを含めることも可能ですが、これらのクラスはコンパイルする必要があります。)次の例は、1つのmaf-feature.xmlファイルと1つのconnections.xmlファイルを含むFARの内容を示しています。connections.xmlの詳細は、「MAFアプリケーションで使用するエンド・ポイントの構成」を参照してください。

/* Contents of a Feature Archive File */
connections.xml (or some form of connection metadata)
 
  META-INF
     adfm.xml
     maf-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 

機能アーカイブ・ファイルでの作業には、次のタスクがあります。

  1. 機能アーカイブ・ファイルの作成: 機能アプリケーションをライブラリJARファイルとしてデプロイすることで機能アーカイブを作成します。

  2. モバイル・アプリケーション作成時の機能アーカイブ・ファイルの使用: これにはFARのインポートと、インポートされた接続の再マッピングが含まれます。

  3. FARの機能を含むモバイル・アプリケーションのデプロイ - これには、デプロイメント・テンプレート内の一意の名前が付けられたフォルダへのFARの解凍が含まれます。

    注意:

    デプロイメント・プロセス時にMAFはFARを生成します。別のアプリケーションでこのFARを使用する場合は、ビュー・コントローラ・プロジェクトのみをデプロイすればすみます。

28.7.1 機能アーカイブのデプロイメント・プロファイルの作成方法

アプリケーションの接続を作成してから、タスク内の手順に従って、機能アーカイブ用のデプロイメント・プロファイルを作成します。

「デプロイメント・プロファイルの作成」ダイアログを使用します(図28-26を参照)。

図28-26 MAF機能アーカイブ・ダイアログの作成

この図は周囲のテキストで説明しています

始める前に:

アプリケーションの適切な接続を作成します。FARは様々な接続要件を持つ様々なアプリケーションで使用できるため、接続ソースまたは標準化された実際の接続名を表す接続名を選択します。

機能アーカイブのデプロイメント・プロファイルを作成するには:

  1. ビュー・コントローラ・プロジェクトを右クリックし、「新規」「デプロイ」「新規デプロイメント・プロファイル」を選択します。

    注意:

    アプリケーションレベルの別個のデプロイメント・プロファイルを作成する必要はありません。

  2. 「デプロイメント・プロファイルの作成」ダイアログで「MAF機能アーカイブ」を選択します。
  3. プロファイル名を入力するか、デフォルトを受け入れて、「OK」をクリックします。

    注意:

    プロファイルには適切な名前を付けてください。そうしないと、アーカイブ名が同じアプリケーション機能を複数アップロードしたときに、問題が発生する可能性があります。「機能アーカイブ・リソースの再使用の有効化に関する必知事項」を参照してください。

  4. 機能アーカイブJARファイルに含める接続を選択します(図28-27を参照)。

    図28-27 FARの接続の選択

    この図は周囲のテキストで説明しています
  5. 「次へ」をクリックしてオプションをレビューし、「終了」をクリックします。

28.7.2 機能アーカイブのデプロイメント・プロファイルのデプロイ方法

MAFが提供する「機能アーカイブJARファイルへデプロイします。」オプションを使用すると、JARファイルとしてFARをデプロイできます。タスク内の手順に従って、機能アーカイブ・デプロイメント・ファイルをデプロイします。

「デプロイメント・アクション」ダイアログでは、FARをJARファイルとしてデプロイできます。図28-28に示すこのダイアログには、「機能アーカイブJARファイルへデプロイします。」という1つのデプロイメント・オプションのみがあります。

図28-28 デプロイメント・アクション

この図は周囲のテキストで説明しています

機能アーカイブのデプロイメント・プロファイルをデプロイするには:

  1. ビュー・コントローラ・プロジェクトを右クリックして、機能アーカイブのデプロイメント・プロファイルを選択します。
  2. 「終了」をクリックします。「サマリー」ページ(図28-29を参照)に、機能アーカイブ・ファイルがデプロイされるJARパスのフルパスが表示されます。

    図28-29 デプロイメントの「サマリー」ページ

    この図は周囲のテキストで説明しています

28.7.3 機能アーカイブ・ファイルのデプロイメント・プロファイルをデプロイする場合の処理

機能アーカイブ・ファイルをデプロイすると、MAFは別のアプリケーションで利用するためのライブラリJARを作成します。別のアプリケーションは、この機能に「リソース・パレット」からアクセスします。

「デプロイメント・アクション」ダイアログを完了すると、MAFによって、「サマリー」ページに示されたパスにライブラリJARが作成されます。他のアプリケーションでこのJARを使用できるようにするには、最初に、図28-30に示す「リソース・パレット」(「MAFアプリケーションでのFARコンテンツの使用方法」で説明)で機能アーカイブJARの場所への接続を作成し、これを使用可能にする必要があります。図28-30は、ファイル・システム接続によりモバイル・アプリケーションで使用可能となる機能アーカイブを示しています。

図28-30 「リソース・パレット」のデプロイされた機能アーカイブJAR

この図は周囲のテキストで説明しています

28.8 モバイル・アプリケーション・アーカイブ・ファイルの作成

新しいモバイル・アプリケーションを既存のモバイル・アプリケーションから作成するには、元のモバイル・アプリケーションをモバイル・アプリケーション・アーカイブ(.maa)ファイルとしてパッケージ化するか、この.maaから新しいモバイル・アプリケーションを作成します。

次のように既存のモバイル・アプリケーションから新しいモバイル・アプリケーションを作成できます。

.maaファイルによって、モバイル・アプリケーションの構造が保持されます。表28-4に、このファイルの内容を示します。


表28-4 モバイル・アプリケーション・アーカイブ・ファイルの内容

ディレクトリ 説明

adf

次のようなメタデータ・ファイルを含むMETA-INFディレクトリが格納されます。

  • adf-config.xmlファイル

  • maf-application.xmlファイル

  • maf-config.xmlファイル

  • その他の該当するアプリケーション・レベルのファイル(connections.xmlファイルなど)

Projects

ワークスペース内の各プロジェクトに対応するJARファイルが格納されます。たとえば、デフォルトのモバイル・アプリケーションを.maaファイルにデプロイすると、ViewController.jarファイルとApplicationController.jarファイルはこのディレクトリに配置されます。.maaファイルのProjectsディレクトリには、元のプロジェクトの.javaファイルは格納されません。かわりに、.javaファイルはコンパイルされ、その結果生成された.classファイルが、プロジェクトJARファイル(ApplicationController.JAR/classlib/mobileApplicationArchive.jarなど)に含まれる別のJARファイル内に配置されます。

ExternalLibs

元のモバイル・アプリケーションの外部にあるアプリケーション・レベルのライブラリ(FARを含む)が格納されます。

META-INF

maf.propertiesおよびlogging.propertiesファイルが格納されます。

resources

次のディレクトリが含まれます。

  • android: アプリケーション・アイコンやスプラッシュ画面に使用される、Android固有のイメージ・ファイルが格納されます。

  • ios: アプリケーション・アイコンに使用される、iOS固有のイメージ・ファイルが格納されます。

  • security: cacertsファイル(キーストア・ファイル)が格納されます。


表28-4にリストされたアーティファクトに加えて、.maaファイルには、元のモバイル・アプリケーションの内部にあるFARまたはJARファイル、およびその制御(.jws)ファイルが格納されたフォルダが含まれます。「MAFアプリケーション・アーカイブ・ファイルをインポートする場合の処理」も参照してください。

注意:

.maaファイルを既存のアプリケーションにインポートすると、ワークスペースとプロジェクトのコンテナ・ファイル(それぞれ.jwsファイルと.jprファイル)が上書きされます。このため、MAF AMXページと構成ファイル(maf-application.xmlmaf-config.xmlconnections.xmladf-config.xmlなど)に対して以前加えた変更の一部は保持されません。

28.8.1 モバイル・アプリケーション・アーカイブ・ファイルの作成方法

タスク内の手順に従って、モバイル・アプリケーション・アーカイブ・ウィザードを使用して.maaファイルを作成します。.maaファイルは、OJDeployを使用して作成することもできます。

モバイル・アプリケーションの作成後、JDeveloperによって、デフォルトのMAFアプリケーション・アーカイブ・デプロイメント・プロファイルが作成されます。モバイル・アプリケーション・アーカイブ・ウィザードを使用すると、.maaファイルを作成できます。

ヒント:

また、「コマンド行からのMAFアプリケーションのデプロイ」で説明されているように、OJDeployを使用して.maaファイルを作成することもできます。

モバイル・アプリケーション・アーカイブ・ファイルを作成するには:

  1. 「アプリケーション」「デプロイ」「新規デプロイメント・プロファイル」をクリックします。

  2. 「デプロイメント・プロファイルの作成」ダイアログで、「MAFアプリケーション・アーカイブ」を選択し、「OK」をクリックします(図28-31を参照)。

    図28-31 MAAデプロイメント・プロファイルの作成

    この図は周囲のテキストで説明しています
  3. 必要に応じて、「アプリケーション・アーカイブ・オプション」ページでモバイル・アプリケーション・アーカイブの名前を入力する(図28-32を参照)か、デフォルトの名前(およびパス)をそのまま使用します。「OK」をクリックします。

    図28-32 モバイル・アプリケーション・アーカイブ・ファイルの名前とパスの入力

    この図は周囲のテキストで説明しています
  4. 必要に応じて、次を実行します。

    1. 「アプリケーション・ディスクリプタ」ページ(図28-33を参照)で、META-INFフォルダ(application_workspace\src\META-INF)の内容に付けるファイル・グループ名を入力します(またはデフォルトの名前をそのまま使用します)。

      図28-33 META-INFの内容に付けるファイル・グループ名の入力

      この図は周囲のテキストで説明しています
    2. この「アプリケーション・ディスクリプタ」ページの「コントリビュータ」サブページを選択して、ファイル・グループの内容を提供するディレクトリとJARファイルのリストを編集します。

      図28-34 モバイル・アプリケーション・アーカイブ・ファイルへのコントリビュータの編集

      この図は周囲のテキストで説明しています
    3. 「フィルタ」ページ(図28-35を参照)を使用して、.maaファイルに含めるファイルの編集やコンテンツの組込みまたは除外ルールの設定を行います。

      図28-35 ファイルとディレクトリの組込み(または除外)

      この図は周囲のテキストで説明しています
    4. 「プロファイルの依存性」ページ(図28-36を参照)を使用して、プロジェクト内の依存プロファイルを指定します。

      図28-36 デプロイメント・プロファイルの選択

      この図は周囲のテキストで説明しています

モバイル・アプリケーションをMAFアプリケーション・アーカイブ・ファイルにパッケージ化するには、次の手順を実行します。

  1. 「アプリケーション」「デプロイ」を選択し、「MAFアプリケーション・アーカイブ」デプロイメント・プロファイルを選択します。

  2. 「デプロイメント・アクション」ウィザードで、「アプリケーションのMAAへのデプロイ」を選択します(図28-37を参照)。

    図28-37 MAFアプリケーション・アーカイブ・ファイルへのデプロイメント

    この図は周囲のテキストで説明しています
  3. 「次へ」をクリックして、デプロイメント・サマリーを確認します(図28-38を参照)。

    図28-38 MAFアプリケーション・アーカイブのデプロイメント・サマリー

    この図は周囲のテキストで説明しています
  4. 「終了」をクリックします。

28.9 アプリケーション・アーカイブからの新規アプリケーションの作成

アプリケーション・アーカイブ・ファイルを使用して、様々なカスタマイズが容易になる新しいMAFアプリケーションを作成します。

開発者(および同僚やパートナ)は、アプリケーション・アーカイブ・ファイル(.maa)を起点として新しいMAFアプリケーションを作成できます。.maaファイルからモバイル・アプリケーションを導出することによって、次のような様々なカスタマイズが可能になります。

  • アプリケーションへの一意のアプリケーションIDの付与(プッシュ通知を有効にする場合など)。

  • 企業固有の資格証明または証明書を使用した、アプリケーションへの署名。

  • カスタマイズされたスプラッシュ画面とアプリケーション・アイコンによる、リソースの置換え。

MAFアプリケーション・アーカイブ(.maa)・ファイル形式を使用すると、署名されていないモバイル・アプリケーションをサード・パーティに提供できます。

注意:

.maaファイルを既存のアプリケーションにインポートすると、ワークスペースとプロジェクトのコンテナ・ファイル(それぞれ.jwsファイルと.jprファイル)が上書きされます。このため、MAF AMXページと構成ファイル(maf-application.xmlmaf-config.xmlconnections.xmladf-config.xmlなど)に対して以前加えた変更の一部は保持されません。

28.9.1 アプリケーション・アーカイブから新規アプリケーションを作成する方法

タスク内の手順に従って、「アーカイブ・ファイルからのMAFアプリケーション」オプションを使用して、.maaファイルを新しいモバイル・アプリケーションにインポートします。

.maaファイルを新しいモバイル・アプリケーションにインポートします。

アプリケーション・アーカイブから新しいアプリケーションを作成するには、次の手順を実行します。

  1. 「ファイル」「新規」を選択します。

  2. 「新規ギャラリ」で、「アプリケーション」「アーカイブ・ファイルからのMAFアプリケーション」を選択します。

    注意:

    または、「ファイル」「インポート」「アーカイブ・ファイルからのMAFアプリケーション」を選択してもかまいません。

  3. 「場所」ページで、「MAAファイル」フィールドの「参照」を選択し、MAAファイルの場所に移動します。

  4. 必要に応じて、次を実行するか、デフォルト値をそのまま使用します。

    1. .maaファイルから導出したモバイル・アプリケーションの名前を「アプリケーション・ファイル」フィールドに入力します(図28-39を参照)。

    2. 「参照」をクリックして、モバイル・アプリケーションのディレクトリを取得します。

    図28-39 ディレクトリの場所の入力

    この図は周囲のテキストで説明しています
  5. 「次へ」をクリックしてインポートのサマリー情報を確認し、「終了」をクリックします。

28.9.2 MAFアプリケーション・アーカイブ・ファイルをインポートする場合の処理

MAFは、アプリケーション・フォルダを作成して、そこに関連ディレクトリとそのコンテンツを解凍します。「プロジェクト」ディレクトリ内のJARファイルごとに、MAFはプロジェクト・フォルダを作成して、JARファイルのコンテンツを該当するプロジェクト・フォルダに解凍します。

MAFでは、.maaファイルのインポート後に次のことを実行します。

  1. アプリケーション・フォルダを作成します。

  2. ワークスペース・コンテナ(.jws)・ファイルを.maaファイルからアプリケーション・ファイルに解凍し、ユーザー指定の値に従ってその名前を変更します。

  3. adfディレクトリとその内容をアプリケーション・フォルダに解凍します。このディレクトリの名前は、.adfに変更されます。

  4. META-INFディレクトリとその内容をアプリケーション・フォルダに解凍し、アプリケーション・フォルダのsrcディレクトリ内に配置します。

  5. ExternalLibsディレクトリとその内容をアプリケーション・フォルダに解凍します。

    注意:

    このディレクトリに格納された外部リソースはすべて、.maaファイルとしてパッケージ化された(そしてアプリケーションにインポートされた)モバイル・アプリケーション内で使用できますが、これらのリソースへの参照は、.maaファイルから導出されたモバイル・アプリケーションに対しては無効になります。

  6. resourcesディレクトリをアプリケーション・フォルダに解凍します。

  7. 元のモバイル・アプリケーションの内部にあるFAR (またはその他のライブラリ)を含む、すべてのフォルダを解凍します。MAFによって、これらのアーティファクトの元の場所が保持されます。

  8. 元のモバイル・アプリケーションのProjectsディレクトリ内にあるJARファイルごとに、MAFは次を実行します。

    • JARファイルの名前(.jar拡張子を除く)に対応するアプリケーション・ディレクトリの下に、プロジェクト・フォルダを作成します。

    • JARファイルの内容を、適切なプロジェクト・フォルダ内に解凍します。MAFによって、これらのプロジェクト・フォルダ内に次のものが格納されます。

      • 元の.jprファイル。

      • META-INFpublic_htmlsrcadfmsrcなどの標準的なディレクトリ。

      • ExternalLibsディレクトリの内容。

        注意:

        このディレクトリに格納された外部リソースはすべて、インポート済の.maaファイルを使用してパッケージ化されたMAFプロジェクト内で使用できますが、これらのリソースへの参照は、既存のプロジェクト、または.maaファイルをインポートすることによって作成されたプロジェクトに対しては無効になります。

      • JARファイル内にパッケージ化されたすべてのJavaクラスを含むclasslibディレクトリ。

        注意:

        .maaファイルにclasslibディレクトリが含まれている場合、MAFでは、このディレクトリのすべてのJARファイルを、新しく作成されたモバイル・アプリケーションにライブラリ依存性として追加します。

28.10 コマンド行からのMAFアプリケーションのデプロイ

MAFの提供するコマンドラインのデプロイメントは、スクリプトを使用したアプリケーションのデプロイとともに、テストも目的としています。OJDeployを使用して、iOSシミュレータ、iOSデバイス、Androidエミュレータ、AndroidデバイスにiOSバンドルまたはAndroidアプリケーション・パッケージとしてアプリケーションをデプロイするか、機能アーカイブJARファイルとしてアプリケーションをデプロイします。

JDeveloper IDEを起動しなくても、OJDeployコマンド行ツールを使用して、JDeveloperからiOSまたはAndroidアプリケーションをデプロイできます。コマンド行のデプロイメントは、テストのためのツールとして機能すると同時に、スクリプトを使用したアプリケーションのデプロイ方法として機能します。

デプロイメント・プロファイルのプロパティ・エディタを使用してiOSまたはAndroidデプロイメント・ファイルを作成したら、OJDeployを使用してiOSシミュレータと(iTunes経由で)iOSデバイスに、またはiOSバンドル(.ipaおよび.appファイル)として、あるいは機能アーカイブJARファイルとして、ヘッドレス・モードでアプリケーションをデプロイできます。同様に、OJDeployを使用すると、AndroidエミュレータとAndroidデバイスの両方に、またはAndroidアプリケーション・パッケージ(.apk)・ファイルとして、あるいは機能アーカイブJARファイルとして、アプリケーションをデプロイできます。

注意:

OJDeployをMac上で使用するには、次の行をojdeploy.confファイルに追加してください。

SetSkipJ2SDKCheck true

このファイルはjdev_install/jdeveloper/jdev/binにあります。

現在、ユニバーサルWindowsプラットフォームのデプロイにOJDeployコマンド行ツールを使用することはできません。

28.10.1 OJDeployを使用したモバイル・アプリケーションのデプロイ

デプロイ・コマンドを個別に使用するか、それらのコマンドをOJDeployコマンド行ツールで使用して、MAFデプロイメント・プロファイルをデプロイします。リストに示したOJDeployの引数とOJDeployのオプションを使用します。

次のコマンドを使用して、MAFのデプロイメント・プロファイルをデプロイできます。

  • deployToDevice: iOSデバイスまたはAndroidデバイスにアプリケーションをデプロイします。iOSアプリケーションの場合、このコマンドは、iTunesを使用してアプリケーションがデバイスにデプロイされるデバッグ・シナリオで使用されます。詳細は、「App StoreへのiOSアプリケーションの配布方法」を参照してください。

  • deployToSimulator: アプリケーションをiOSシミュレータに(.appファイルとして)デプロイするか、Androidエミュレータにデプロイします。モバイル・アプリケーションはAppleコンピュータ上のiOSシミュレータにのみデプロイできます。

  • deployToPackage: iOSアプリケーションを.ipaファイルとして、またはAndroidアプリケーションを.apkファイルとしてデプロイします。アプリケーションは、Appleコンピュータでのみ、.ipaファイルとしてパッケージ化できます。

  • deployToFeatureArchive: 機能アーカイブをJARファイルにデプロイします。

  • deployToApplicationArchive: モバイル・アプリケーションをMAFアプリケーション・アーカイブ・ファイル(.maa)としてパッケージ化します。

これらのコマンドは、ojdeployコマンド行ツール、OJDeployの引数およびOJDeployのオプションとともに、次のように使用します。

ojdeploy deployToSimulator -profile <profile name> -workspace <jws file location>

注意:

OJDeployコマンドと引数では大文字と小文字が区別されます。

表28-5に、MAFのデプロイメント・コマンドを変更するために使用するOJDeploy引数をリストします。

ヒント:

-helpオプションを任意のコマンドで使用すると(例: ojdeploy deployToSimulator -help)、使用方法と構文に関する情報を取得できます。


表28-5 MAFのデプロイメント用のOJDeploy引数

引数 説明

-profile

AndroidまたはiOSデプロイメント・プロファイルの名前。次に例を示します。

ojdeploy deployToSimulator -profile iosDeployProfile ...

-workspace

モバイル・アプリケーション・ワークスペースのコンテナ(.jws)・ファイルへのフルパス。次に例を示します。

... -workspace /usr/jsmith/mywork/Application1/Application1.jws

モバイル・アプリケーションをモバイル・アプリケーション・アーカイブとしてパッケージ化するには:

ojdeploy deployToApplicationArchive
         -profile applicationArchiveProfile
         -workspace /usr/jdoe/Application1/application1.jws

-project

deployToFeatureArchiveコマンドの場合は、機能アーカイブのデプロイメント・プロファイルを含むプロジェクト(ビュー・コントローラ・プロジェクト)の名前を指定する必要があります。次に例を示します。

ojdeploy deployToFeatureArchive
         -profile farProfileName
         -project ViewController
         ...

-buildfile

バッチ・デプロイ用のビルド・ファイルへのフルパス。

-buildfileschema

ビルドファイルの出力XMLスキーマ。


表28-5に示した引数の他に、『Oracle JDeveloperによるアプリケーションの開発』のコマンドの使用方法の項で説明されているOJDeployオプションを使用することもできます。

注意:

次のオプションはサポートされていません。

  • -forcerewrite

  • -nocompile

  • -nodatasources

  • -nodepdendents

  • -outputfile

  • -updatewebxmlejbrefs

表28-6に、MAFのデプロイメント・コマンドでOJDeployオプションを使用する方法の例を示します。


表28-6 MAFのデプロイメント用のOJDeployオプション

オプション 説明

-clean

コンパイルの前に、プロジェクト出力ディレクトリからすべてのファイルを削除します。次に例を示します。

ojdeploy deployToSimulator 
         -profile iosDeployProfile
         -workspace /usr/jsmith/jdeveloper/mywork/Application1.jws 
         -clean

-stdout, -stderr

標準出力とエラー・ロギングのストリームを、それぞれのプロファイルとプロジェクトのファイルにリダイレクトします。次に例を示します。

ojdeploy deployToSimulator -profile iosDeployProfile
         -workspace /usr/jsmith/jdeveloper/mywork/Application1.jws 
         -clean
         -stdout /usr/jsmith/stdout/stdout.log
         -stderr /usr/jsmith/stderr/stderr.log


表28-7は、deployToApplicationArchiveコマンドとともに使用するマクロを示しています。


表28-7 MAFアプリケーション・アーカイブのパッケージ化に使用するマクロ

マクロ 説明

workspace.name

アプリケーション・ワークスペースのコンテナ・ファイルの名前(.jws拡張子を除く)。

workspace.dir

アプリケーション・ワークスペースのコンテナ(.jws)・ファイルのディレクトリ。

profile.name

デプロイするプロファイルの名前。

profile.dir

プロファイルのデフォルトのデプロイメント・ディレクトリ。

base.dir

このパラメータを使用して、現在のojdeployディレクトリをオーバーライドします。ビルド・スクリプトでbasedir属性を使用して、現在のojdeployディレクトリをオーバーライドできます。


28.11 Oracle Mobile Security Suiteでのデプロイ

エンタープライズレベルのセキュリティために、MAFアプリケーションは、データ漏えいを防止するためにデプロイ時にコンテナ化され、Oracle Mobile Security Suiteを使用して暗号化されることがあります。タスク内の手順に従って、アプリケーションをコンテナ化します。また、Oracle Mobile Security Suiteを使用してアプリケーションをデプロイします。

Oracle Mobile Security Suite (OMSS)は、モバイル・アプリケーション向けにエンタープライズレベルのセキュリティを備えています。デプロイメント時のコンテナ化により、データ漏えいを防止し、アプリケーション・データおよびデータベース・コンテンツを暗号化します。OMSSでのMAFアプリケーションのコンテナ化の詳細は、「エンタープライズ配布のためのMAFアプリケーションのコンテナ化」を参照してください。

iOSプラットフォームおよびAndroidプラットフォームにデプロイするMAFアプリケーションをOMSSを使用してコンテナ化できます。ユニバーサルWindowsプラットフォームにデプロイするMAFアプリケーションは、OMSSを使用してコンテナ化することはできません。

始める前に:

OMSSコンテナ化ツールをインストールしている必要があります。このツールは、c14nというファイル名のコマンドライン・ユーティリティです。OMSSをダウンロードし、Oracle Technology Networkでインストールに関する説明を読んでください。

http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html

注意:

iOSでは、「デバイス署名オプションの設定」で説明されているように、iOSプラットフォームのプリファレンス・ページでプロビジョニング・プロファイルの名前も選択する必要があります。

Oracle Mobile Security Suiteを使用してアプリケーションをコンテナ化する手順:

  1. 「ツール」「プリファレンス」「モバイル・アプリケーション・フレームワーク」を選択します。

  2. 「コンテナ化」を選択します。

  3. 図28-40に示すように、「参照」アイコンをクリックし、ローカル・ファイル・システムでモバイル・セキュリティ・アプリケーション・コンテナ化ツールのインストール場所を探します。

    図28-40 コンテナ化ツールの場所の指定

    このイメージについては周囲のテキストで説明しています。
  4. 「OK」をクリックしてコンテナ化ツールを選択します。

  5. 「アプリケーション」「アプリケーション・プロパティ」「デプロイメント」の順にクリックします。

  6. 「デプロイメント」ページで、デプロイメント・プロファイルをダブルクリックして、「オプション」を選択します。

  7. 「iOSオプション」ページの下部で、「Oracleモバイル・セキュリティ・スイートの有効化」を選択します。

Oracle Mobile Security Suiteを使用してアプリケーションをデプロイする手順:

  1. 「アプリケーション」「デプロイ」の順にクリックして、デプロイメント・プロファイルを選択します。

  2. 「デプロイメント・アクション」ダイアログで、アプリケーションのデプロイ方法を選択します。

    注意:

    iOSの場合、コンテナ化はiTunesデプロイメントでのみサポートされています。配布パッケージまたはシミュレータへのデプロイメントでは、コンテナ化された.ipaファイルを作成することはありません。

    Androidの場合、コンテナ化は、デバイスまたは配布パッケージへのデプロイメントでのみサポートされています。エミュレータへのデプロイメントでは、コンテナ化されたapkファイルは作成されません。

  3. アプリケーションをデプロイします。Oracle Mobile Security Suiteによって保護されたプラットフォーム固有ファイル(iOSでは.ipa、Androidでは.apk)が作成されます。コンテナ化されたアプリケーションをデバイスに追加すると、そのアプリケーションにロック・アイコンが表示されます(図28-41を参照)。

図28-41 コンテナ化を表すロック・アイコンが表示されたモバイル・アプリケーション

このイメージについては周囲のテキストで説明しています。

28.11.1 OMSSでアプリケーションをコンテナ化する場合の処理

Oracle Mobile Security Suiteでコンテナ化されたMAFアプリケーションは、現在使用可能なアプリケーションのリストを示すOMSSモバイル・アプリケーション・カタログにアップロードできます。OMSSのデータ漏えい防止および暗号化は、あらかじめアプリケーションに適用してから、ユーザーがダウンロードできるようにします。

Oracle Mobile Security Suite (OMSS)でコンテナ化されたMAFアプリケーションは、デプロイした後で、現在使用可能なアプリケーションのリストが表示されるOMSSモバイル・アプリケーション・カタログにアップロードできます。アプリケーションをエンド・ユーザーに公開する前に、OMSS管理者は、アプリケーションに様々なポリシーを適用してその機能を管理します。OMSSサーバー側で特定のポリシーを適用する前に、OMSS管理者は、Oracle Mobile Security Appコンテナ化ツールでコンテナ化されたアプリケーションのセキュリティおよび共有の要件を管理できます。転送中のデータおよびモバイル・デバイスのコンテナ化されたアプリケーション内にローカルに格納されているデータは暗号化されます。暗号化されたデータの格納には、ファイル、データベース、アプリケーション・キャッシュおよびユーザー・プリファレンスなどのアプリケーション・データが含まれます。

OMSSのデータ漏えい防止および暗号化を適用した後で、アプリケーションをダウンロード・サイトからユーザーに提供できます。

注意:

OMSSでコンテナ化されたiOS MAFアプリケーションは、内部のダウンロード・サイトまたはエンタープライズ・アプリケーション・ストアを介してのみユーザーに配布できます。コンテナ化されたiOS MAFアプリケーションは、AppleのApp Storeにはアップロードできません。この制限は、OMSSでコンテナ化されたAndroid MAFアプリケーションには当てはまりません。これらのアプリケーションは、内部のダウンロード・サイト、エンタープライズ・アプリケーション・ストアまたはGoogle Playを介して配布できます。

システム管理者がOMSSモバイル・アプリケーション・カタログを使用して、デバイスおよびワークスペースにプロビジョニングされたMAFアプリケーションを管理する方法の詳細は、『Oracle Mobile Security Suiteの管理』のデバイスおよびワークスペースの管理に関する項を参照してください。

次のOMSSデータ漏えい防止ポリシーにより、ユーザーがどのように、どのような場合にアプリケーション内のデータを共有できるかを制限します。

  • 電子メールの許可により、アプリケーションから電子メールを送信する機能を制限できます。

  • インスタント・メッセージの許可により、アプリケーションからインスタント・メッセージを送信する機能を制限できます。

  • ビデオ・チャットの許可では、FaceTimeなどのサービス経由で情報を共有する機能を制限します。

  • ソーシャル・メディアの許可では、FacebookやTwitterなどのサービス経由で情報を共有する機能を制限します。

  • 印刷の許可では、ユーザーが印刷する機能を制限します。

  • ファイル共有の制限では、ユーザーがセキュア・エンタープライズ・ワークスペースの外部のファイルを共有する機能を制限します。

  • コピー/貼付けを制限により、セキュア・コンテナやコンテナ化されたアプリケーションの内部、またはコンテナ化されたアプリケーション間でのコピー/貼付けを許可し、セキュア・エンタープライズ・ワークスペースの外部のアプリケーションには不許可にできます。

  • コンテナへのリダイレクトの許可により、モバイル・セキュリティ・コンテナ・ワークスペースの外部のアプリケーションがコンテナにURLをリダイレクトすることを防止できます。

  • メディア・ギャラリへの保存の許可では、イメージ、ビデオおよびオーディオ・ファイルがメディア・ギャラリおよびフォト・ストアに保存されないようにします。

  • ローカル連絡先への保存の許可により、セキュア・エンタープライズ・ワークスペース・アプリケーション内部の連絡先がネイティブ・デバイスの連絡先アプリケーションに保存されることを防止できます。

  • コンテナからのリダイレクトの許可により、モバイル・セキュリティ・コンテナ・ワークスペースまたはコンテナ化されたアプリケーションのvAppが、モバイル・セキュリティ・コンテナ・ワークスペースまたはコンテナ化されたアプリケーションの外部にURLをリダイレクトすることを防止できます。