Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.3.3 E82940-01 |
|
前 |
次 |
この章の内容は次のとおりです。
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ファイルと一連のライブラリをデプロイします。プロジェクトに宣言したライブラリが、プロジェクトのデプロイメント・アーティファクトに含まれています。
MAFアプリケーション・デプロイメントの場合は、すぐに使用できるデプロイメント・プロファイルを作成するか、カスタマイズしたデプロイメント・プロファイルを使用します。デプロイメント・プロファイルでは、アプリケーションをアーカイブにパッケージ化する方法を定義します。プラットフォーム固有のデバイスや仮想デバイスに、このパッケージをデプロイします。
デプロイメント・プロファイルを使用して、MAFアプリケーションを実行するプラットフォームにMAFアプリケーションをデプロイします。MAFには、サポートしている各プラットフォーム(Android、iOS、Windows)用のすぐに使用できるデプロイメント・プロファイルが用意されていますが、カスタマイズしたデプロイメント・プロファイルを作成することもできます。デプロイメント・プロファイルでは、プラットフォーム・デバイス(AndroidデバイスやAndroidエミュレータなど)にデプロイするアプリケーションをアーカイブにパッケージ化する方法を定義します。デプロイメント・プロファイルは次を行います。
アーカイブの形式と内容を指定します。
アーカイブ・ファイルへのパッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタおよびその他の補助ファイルをリストします。
作成されるアーカイブ・ファイルのタイプおよび名前を記述します。
依存情報、プラットフォーム固有の指示およびその他の情報を示します。
MAFでは、プラットフォーム固有のデプロイメント・プロファイルに加えて、MAFアプリケーションをMAFアプリケーション・アーカイブ(.maa
)・ファイルとしてパッケージ化するために使用できるデプロイメント・プロファイルも提供します。このファイルを使用すると、.maa
ファイルとしてパッケージ化された既存のアプリケーションを使用する新しいMAFアプリケーションを作成できます。このデプロイメント・ファイルには、MAFアプリケーション名に_archiveが続く形式の名前がデフォルトで付けられます。「モバイル・アプリケーション・アーカイブ・ファイルの作成」を参照してください。
アプリケーションが作成されると、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オンライン・ヘルプの「アプリケーションのプロパティ」ダイアログや「プロジェクト・プロパティ」ダイアログに関する項を参照してください。
ターゲット・プラットフォームのSDKを指定したら、タスク内の手順に従って、「デプロイメント・プロファイルの作成」を使用してデプロイメント・プロファイルを作成します。複数のデプロイメント・プロファイルを作成できますが、1つのアプリケーションのデプロイに必要になるアプリケーションレベルのデプロイメント・プロファイルは1つのみです。
モバイル・アプリケーションを作成すると、MAFによって、デプロイメント・プロファイルのセットが作成されます。これらのプロファイルを使用してアプリケーションをデプロイしたり、それらのプロファイルを編集したり、MAF固有のデプロイメント・プロファイル・ページを使用して新しいプロファイルを構成できます。デプロイメント・プロファイルの作成ウィザード(図28-6を参照)を使用して、それらのページからデフォルトのデプロイメント・プロファイルを作成できます。デプロイメント・プロファイルは、必要な数だけ作成できます。これらの標準デプロイメント・プロファイル・ページの詳細は、「ヘルプ」をクリックしてJDeveloperオンライン・ヘルプを参照してください。
注意:
MAFアプリケーションのデプロイメントでは、アプリケーションレベルのデプロイメント・プロファイルの作成のみが必要とされるので、ビュー・コントローラレベルのデプロイメント・プロファイルを作成する必要はありません。
始める前に:
JDeveloperでモバイル・アプリケーションをデプロイできるようにするには、『Oracle Mobile Application Frameworkのインストール』のプラットフォームとフォーム・ファクタに応じた開発環境の構成に関する項で説明するように、ターゲット・プラットフォーム用のSDKを指定する必要があります。
ヒント:
iOSデプロイメントの場合は、iTunesおよびiOSシミュレータを1回以上実行してから、それらのディレクトリの場所を構成します。
デプロイメント・プロファイルを作成するには:
「デプロイメント・プロファイルの作成」ウィザードが完了すると、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を含むビュー・コントローラ・プロジェクト内のデプロイメント・ディレクトリを削除できます。
すぐに使用できるAndroidプラットフォーム用のデプロイメント・プロファイルを使用して、Androidデバイス、エミュレータまたはパッケージにデバッグ・モードまたはリリース・モードでMAFアプリケーションをデプロイしてください。
MAFには、すぐに使用できるデプロイメント・プロファイル(Android1
)が用意されており、これによってMAFアプリケーションがデプロイされます。このすぐに使用できるデプロイメント・プロファイルを使用するか、またはその他のデプロイメント・プロファイルを1つ以上作成して、MAFアプリケーションをAndroidプラットフォームにデプロイできます。デプロイメント・プロファイルを使用すると、MAFアプリケーションをデバッグ・モードまたはリリース・モードでAndroidデバイス、エミュレータまたはパッケージ(.APK
)にデプロイできます。この最後のオプションは、アプリケーション・マーケットプレイス(Google Playなど)を介してエンド・ユーザーにアプリケーションを公開する必要がある場合に使用します。
ヒント:
「コマンド行からのMAFアプリケーションのデプロイ」で説明されているように、「デプロイメント・アクション」ダイアログのかわりに、OJDeployコマンド行ツールを使用してモバイル・アプリケーションを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』のアプリケーションの公開に関する情報も参照してください。
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
タスク内の手順に従って、Androidアプリケーションの詳細ページを使用して、アプリケーション情報(アプリケーション・パッケージ名、アプリケーション名、バージョン名、バージョン・コードなど)を構成します。
Androidの「アプリケーションの詳細」ページを使用して、アプリケーション・パッケージ名、アプリケーション名、バージョン名およびバージョン・コードを指定します。
バージョニングの詳細は、Android開発者のWebサイト(http://developer.android.com/tools/publishing/versioning.html
)で入手可能なドキュメント『Versioning Your Applications』を参照してください。
アプリケーション・オプションを設定するには:
タスク内の手順に従って、「Androidオプション」ページを使用して、javacコンパイラ・ツールのオプションで渡される値、zipalignオプションおよびAndroid APIレベルを設定します。
「Androidオプション」ページでは、javac
コンパイラ・ツールのオプションで渡される値、zipalignオプションおよびAndroid APIレベルを設定できます。
R.java
ファイルと.class
ファイルのJDK互換性レベルを設定するには:
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
のビルド時にデプロイメントによって起動される各コマンド行ツールによって提供される全出力をログに記録します。このオプションを選択しないと、デプロイメントですべての出力がログに記録されません。
タスク内の手順に従って、キーのデバッグ・プロパティとリリース・プロパティを定義します。また、ビルド・モードを指定するようにデプロイメント・プロファイルを構成して、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
)を参照してください。
デバッグ・モードのキー・オプションを構成するには:
「ツール」をクリックして、「プリファレンス」→「モバイル・アプリケーション・フレームワーク」を選択します。
「プラットフォーム」を選択します。
「デバッグ」タブ(図28-8を参照)を選択します。
図28-8 デバッグ・デプロイメントの構成
「キーとキーストア・パスワード」フィールドに、デバッグ・デプロイメントに必要なキーストア・ファイルとキーを作成するためにデプロイメントで使用されるパスワードを入力します。Androidデバイスまたはエミュレータへのデプロイメント用のキーストアとキーファイルを生成するこのパスワードには、6文字以上の長さであれば、任意の値を指定できます。デフォルトのパスワードはAndroidです。
リリース・モードのキー・オプションを構成するには:
「ツール」をクリックして、「プリファレンス」→「モバイル・アプリケーション・フレームワーク」を選択します。
「プラットフォーム」を選択します。
「リリース」タブを選択して、次を定義します。
キーストアの場所: 配布するアプリケーションの署名に使用する秘密鍵を含むキーストアのディレクトリを入力、参照および取得します。
キーストア・パスワード: キーストアのパスワードを入力します。このパスワードを使用すると、物理ファイルにアクセスできます。
キーの別名: キーの別名を入力します。これはkeytoolの-alias
引数に使用する値セットです。別名の最初の8文字のみが使用されます。
キー・パスワード: キーのパスワードを入力します。このパスワードを使用すると、キーストア内のキー(別名によって識別される)にアクセスできます。
ヒント:
keytoolユーティリティによるキーストアの生成前に、keytoolユーティリティが要求するパスワードとキー・パスワードを入力します。
これらのパラメータでは、アプリケーションの署名方法の指定に加え、R.Java
クラスのコンパイル方法も指定します。
「OK」をクリックします。
Androidビルド・モードを設定するには:
資格証明ストア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
フォルダにコピーするか、または「プラットフォーム」プリファレンス・ページでリリース・モードの資格証明を再構成する必要があります。
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』を参照してください。
カスタム・イメージを追加するには:
アプリケーションが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
ディレクトリは、イメージ密度(ldpi
、mdpi
、hdpi
、xhdpi
、xxhdpi
およびxxxhdpi
)と向き(port
、land
)に対応します。これらのディレクトリ内で、JDeveloperは、各アイコン・イメージ・ファイルの名前をadfmf_icon.png
に、各スプラッシュ画面イメージの名前をadfmf_loading.9.png
またはadfmf_loading.png
に変更します(9-patchのイメージを使用するかどうかによって異なります)。
表28-2 シードされたアプリケーション・イメージのデプロイメント・ファイルの場所
ソース・ファイル(...\resource\Android) | 一時デプロイメント・ファイル(...ViewController\deploy) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム・イメージの場合、JDeveloperは、アプリケーション・アイコンのセットを指定の場所から一時デプロイメントの場所の対応する密度と向きのサブディレクトリにコピーします。
MAFアプリケーションは、AndroidエミュレータのAndroid Virtual Deviceにデプロイできます。前提条件が満たされていることを確認し、タスク内の手順に従って、アプリケーションをデプロイします。このタスクでは、「アプリケーション」メニューで使用できる「デプロイ」に「アプリケーションのエミュレータへのデプロイ」を選択します。
モバイル・アプリケーションはAndroidエミュレータ(Android Virtual Device (AVD)とも呼ばれる)に直接デプロイできます。
始める前に:
Androidエミュレータにデプロイするには、次を行う必要があります。
Androidプラットフォーム・バージョン21 (Android 5.0)をインストールします。
Android Virtual Deviceインスタンスの構成にARMまたはIntel Atom x86のシステム・イメージが反映されていることを確認します。
デプロイメント・プロファイルの「Androidオプション」ページで、次のようにします。
「デバッグ」が選択されていることを確認します。
「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エミュレータにデプロイするには:
「アプリケーション」→「デプロイ」を選択し、Androidデプロイメント・プロファイルを選択します。
「アプリケーションのエミュレータへのデプロイ」をクリックしてから、「次へ」をクリックします。
「サマリー」ページ(図28-6を参照)をレビューし、「戻る」を選択して別のデプロイメント・アクティビティを選択するか、「終了」を選択します。「サマリー」ページには、デプロイメント・プロファイルの次のパラメータが表示されます。
アプリケーション・バンドルID: アプリケーションを特定する、Java言語のような一意のパッケージ名。
これは、使用するデプロイメント・プロファイルの「アプリケーションの詳細」ページの「パッケージ名」フィールドの値に対応しています。
注意:
図28-12の「サマリー」ページには、アプリケーション・バンドルIDが、エミュレータへのデプロイメントの成功に必要なリバースパッケージ書式であることが示されています。リバースパッケージ書式に従わないアプリケーションをデプロイすると、エミュレータが停止して、デプロイメントを完了できなくなります。
ファイル: Androidターゲットにデプロイされる.apk
の名前。
デプロイ・モード: ビルド・モード。この値は、デプロイメント・プロファイルに設定されている値に応じて、「リリース」と「デバッグ」のいずれかになります。
図28-12 Androidエミュレータ・デプロイメントのサマリー
デプロイメント・ログをレビューします(図28-13を参照)。デプロイメント・ログには、デプロイメントがAndroidエミュレータの実行中インスタンスを検出し、Androidデバッグ・ブリッジ・サーバーを起動したことが示されます。「Androidデバッグ・ブリッジの使用方法に関する必知事項」も参照してください。
図28-13 デプロイメント・ログ
MAFアプリケーションは、API 15以降で動作するAndroidデバイスにデプロイできます。前提条件が満たされていることを確認し、タスク内の手順に従って、アプリケーションをデプロイします。このタスクでは、「アプリケーション」メニューで使用できる「デプロイ」に「アプリケーションのデバイスへのデプロイ」を選択します。
モバイル・アプリケーションは、API 15以降(プラットフォーム4.0.3)で動作するAndroidデバイスに直接デプロイできます。
始める前に:
Androidデバイスに直接デプロイするためには、JDeveloperをホストする開発コンピュータにデバイスを接続し、そのデバイスを開発モードに設定して、USBデバッグを有効にします。『Oracle Mobile Application Frameworkのインストール』のAndroidデバイスの設定方法に関する項を参照してください。
「Androidオプション」ページで、ビルド・モードとして「デバッグ」を選択します。デバッグ署名資格証明が「Androidプラットフォーム」のプリファレンス・ページで構成されていることを確認します。「アプリケーションの詳細オプションの設定」を参照してください。
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
ファイルとしてデプロイするには:
.apk
ファイルが作成されると、JDeveloperによって、いくつかのファイルのコンテンツが.apk
ファイルにデプロイされます。
アプリケーションをデプロイすると、次のものが.apk
ファイルにデプロイされます。
adfmsrc
の内容
.adf
フォルダの内容
maf-application.xml
およびmaf-feature.xml
ファイル
logging.properties
ファイル
JVMファイル
デプロイメント・アクションの選択によって、JDeveloperは「デプロイ」メニューにショートカットを作成して、ユーザーがデプロイメント・アクションを再利用できるようにします。
デプロイメント・アクションを選択すると、JDeveloperによって「デプロイ」メニューにショートカットが作成されます。このショートカットを使用すると、同じデプロイメント・アクションを使用してアプリケーションを簡単に再デプロイできます。
アプリケーションのデプロイメント時に、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
)を参照してください。
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プラットフォームに手動でデプロイすることもできます。
デプロイメント・プロファイルのプロパティ・エディタを使用して、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プロビジョニング・プロファイルからプロビジョニング・プロファイルと証明書の両方を取得する必要があります。
デプロイメント・プロファイルを作成するには:
ビルド・オプションを使用すると、デバッグ・モードまたはリリース・モードでアプリケーションをデプロイできます。プロビジョニング・プロファイルと署名済証明書が使用できる場合は、タスク内の手順に従い「iOSオプション」ページを使用して、iOSプラットフォームのビルド・オプションを設定します。
iOSビルド・オプションでは、デバッグまたはリリース・ビットとライブラリによりアプリケーションをデプロイできます。「iOSオプション」ページでは、Oracle Mobile Security Suite (OMSS)によるコンテナ化を有効にすることも可能です。
始める前に:
iOSアプリケーション(.ipa
ファイル)をiOSデバイスにデプロイするには、インストールの必須コンポーネントであるプロビジョニング・プロファイルと、デバイス上の開発者とアプリケーションを特定する署名済証明書が必要です。「iOSデバイスへのアプリケーションのデプロイに関する必知事項」で説明されているように、これらはiOSプロビジョニング・ポータルから取得する必要があります。また、「デバイス署名オプションの設定」で説明されているように、「iOSプラットフォーム」のプリファレンス・ページでプロビジョニング・プロファイルの場所と証明書の名前を入力する必要があります。
ビルド・オプションを設定するには:
実行時に、MAFは、図28-9に示すように、赤の三角形内に感嘆符で表されるデバッグ・シンボルを重ねることで、アプリケーションがデバッグ・モードでデプロイされたことを示します。
プロビジョニング・プロファイルの場所、開発チームの識別子およびアプリケーションの開発に必要な署名アイデンティティをデバイスとの同期のために配布パッケージまたはiTunesに指定します。
iOSの「iOSプラットフォーム」のプリファレンス・ページには、開発コンピュータ上のプロビジョニング・プロファイルの場所、チームの識別子および署名アイデンティティの名前のためのフィールドが含まれています。アプリケーションを配布パッケージにデプロイしたり、デバイスとの同期のためにiTunesにデプロイする場合は、これらのパラメータを定義する必要があります。署名アイデンティティはアプリケーションのコード署名に使用します。Xcodeで開発用証明書が必要な場合、証明書とその公開鍵はメンバー・センターに格納され、署名アイデンティティ(公開鍵と秘密鍵を保持する証明書)は開発者のキー・チェーンに格納されます。この秘密鍵がないとコード署名できません。
注意:
モバイル・アプリケーションをiOSシミュレータにデプロイする場合は、署名アイデンティティとプロビジョニング・プロファイルのいずれも不要です。
署名オプションを設定するには:
注意:
プロビジョニング・プロファイルには、アプリケーションの開発バージョン用とリリース・バージョン用の両方があります。アプリケーションのリリース・バージョンに使用されるプロビジョニング・プロファイルは、あらゆるデバイスにインストールできます。一方、開発バージョン用のプロビジョニング・プロファイルは、IDがプロファイルに埋め込まれたデバイスのみにインストールできます。iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/
)にある『App Distribution Guide』を参照してください。
タスク内の手順に従って、アプリケーションをリブランドします。リブランドは、アプリケーションのアイコンとアートワークに使用されているデフォルトのOracleイメージをカスタムのイメージでオーバライドすることで実行します。
「アプリケーション・イメージ」ページでは、アプリケーション・アイコンおよびアートワークに使用されるデフォルトのOracleイメージをカスタム・イメージでオーバーライドして、アプリケーションを再ブランディングできます。図28-17に示されているこのページのオプションでは、様々な状況、デバイスの向きおよびデバイスの解像度で使用されるカスタム・イメージの場所を入力できます。iOSアプリケーション・アイコン・イメージの詳細は、『iOS Human Interface Guidelines』のIcon and Image Designセクションを参照してください。このドキュメントは、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/
)から入手できます。
注意:
すべてのイメージはPNG形式であることが必要です。
カスタム・イメージを追加するには:
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にデプロイというデプロイメント・タイプを選択した場合のみです。
MAFは、iPhoneとiPadのデバイス表示方向をすべてサポートしています。タスク内の手順に従って、アプリケーションの表示を特定のデバイス方向に制限します。
デフォルトでは、MAFは、iPhoneとiPadの両方ですべての向きをサポートしています。たとえば、iPads上で上下逆の縦向きでのみ表示する必要があるアプリケーションでは、「デバイスの向き」ページ(図28-19を参照)を使用して、アプリケーションの回転をこれらの向きのみに制限できます。
図28-19 デバイスの向きの選択
アプリケーションの表示をデバイスの特定の向きに制限するには:
前提条件が満たされていることを確認し、タスク内の手順に従って、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シミュレータにアプリケーションをデプロイするには:
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フォルダのデフォルト・ディレクトリですが、このフォルダの場所は次のように変更できます。
iTunesで、「Edit」→「Preferences」→「Advanced」を選択します。
「Change」をクリックし、新しい場所を参照します。
ライブラリを統合します。
元の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デバイスにアプリケーションをデプロイするには:
「アプリケーション」→「デプロイ」を選択し、iOSデプロイメント・プロファイルを選択します。
「デバイスとの同期のためにiTunesにデプロイ」→「次へ」を選択します。
「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
アプリケーション・バンドルID: iOS Provisioning Portalから生成されたバンドル・シードが先頭に付加されたJava言語のようなパッケージ名(com.<organization name>.<application name>)を含む一意の名前。
ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。
シグネチャ: アプリケーションを作成した開発者(または会社)。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。「iOSプラットフォーム」のプリファレンス・ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
チーム: チームの識別子。このフィールドには、プロビジョニング・プロファイルからMAFによって抽出された値が自動的に移入されます。
注意:
iTunesへのデプロイメントを可能にするには、「iOSプラットフォーム」のプリファレンス・ページでシグネチャ、チームおよびプロビジョニング・プロファイルの値を指定する必要があります。
iOSデバイスを開発コンピュータに接続します。
iTunesを開いてデバイスを同期化します。
プロビジョニング・プロファイルは、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
iOS開発用証明書により、開発者のアイデンティティは公開鍵と秘密鍵に電子的に関連付けられます。証明書をダウンロードして開発者のコンピュータにインストールし、アプリケーションにデプロイメントのための署名をします。
証明書は、開発者のアイデンティティに関する情報と公開鍵および秘密鍵が結合された電子的なドキュメントです。iOS開発用証明書がOS開発者として識別し、デプロイメントのためのアプリケーションの署名を有効にするので、証明書をダウンロードしたら、基本的に開発者自身のアイデンティティを開発コンピュータにインストールします。iOSオペレーティング環境では、すべての証明書がKeychainによって管理されます。
iOS Provisioning Portalの「Certificates」ページを使用して、CSR(証明書署名リクエスト)をログに記録します。CSRを完了すると、iOS Provisioning PortalによってiOS開発用証明書が発行されます。
iOS Provisioning Portalの「Devices」ページにある「Current Available Devices」リストにAppleデバイスが含まれている必要があります。これにより、そのデバイスがアプリケーションのデプロイが可能なデバイスとして一意に識別されます。
開発コンピュータに証明書をインストールしたら、「Current Available Devices」タブ(iOS Provisioning Portalの「Devices」ページ内)をレビューして、開発者自身(またはその会社)がテストやデバッグに使用するAppleデバイスを特定します。シリアル番号のような一意のデバイス識別子(UDID)によって各デバイスを識別するこのリストにデバイスが含まれていないかぎり、アプリケーションはデプロイできません。
アプリケーション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と一致する必要があります。
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に配布するには:
MAFアプリケーションは、PowerShellを使用することで、ローカルのデプロイメント・コンピュータまたはインストール・パッケージにリリース・モードまたはデバッグ・モードのどちらかでいデプロイできます。リストに示された設定タスクと構成タスクを完了して、すぐに使用できるWindows1デプロイメント・プロファイルでアプリケーションをデプロイします。
MAFアプリケーションは、アプリケーションを開発するローカル・マシン、またはサポートされているUWPデバイス上へのアプリケーションのインストールに使用するインストール・パッケージにデプロイできます。
MAFには、UWPにデプロイするアプリケーション用に2つのビルド・モードが用意されています。開発サイクル中にアプリケーションをテストおよびデバッグする場合は、デバッグ・モードを使用します。リリースの準備が完了したアプリケーションをデプロイする場合は、リリース・モードを使用します。
リリースの準備が完了したアプリケーションは、Windowsストアに公開できません。別のメカニズムを選択して、アプリケーションを配布します。MAFではPowerShellスクリプトがインストール・パッケージに含まれており、これを実行するとアプリケーションがUWPデバイスにインストールされます。
UWPへのアプリケーションのデプロイを試行する前に、次の設定タスクと構成タスクを実行します。
開発マシンが、MAFアプリケーションをUWPにデプロイするための要件を満たしていることを確認します。使用するUWPデバイスでは、Windows 10オペレーティング・システムが実行される必要があります。このマシンで開発者モードを有効にする必要があります。
詳細は、『Oracle Mobile Application Frameworkのインストール』のWindowsプラットフォームにデプロイするMAFアプリケーションのインストール要件に関する項を参照してください。
MicrosoftのVisual Studioソフトウェアをインストールします。Visual Studioパッケージには、UWPにアプリケーションをデプロイするために必要な、Windows SDKが含まれています。
詳細は、『Oracle Mobile Application Frameworkのインストール』のユニバーサルWindowsプラットフォーム用の開発ツールの設定に関する項を参照してください。
デプロイするアプリケーションにデジタル署名するための証明書(個人情報交換ファイル)を作成します。
詳細は、『Oracle Mobile Application Frameworkのインストール』のMAFアプリケーション用のPFXファイルの作成に関する項を参照してください。
「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コードをデバッグする方法」を参照してください。
アプリケーションをUWPにデプロイする、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オプション」ダイアログ
クイック・デプロイメントにより、いくつかのデプロイメント・ステップが省略され、デプロイ時間の節約になります。クイック・デプロイメントは、新しいファイル・コンテンツまたは変更されたファイル・コンテンツのみをエミュレータまたはシミュレータに渡すことで時間を節約します。
MAFクイック・デプロイメントでは、パフォーマンスを低下させることなく、競争上優位なデプロイメント時間を提供することで、開発者の生産性を確保します。
アプリケーションのクイック・デプロイメント
クイック・デプロイメントでは、通常の完全なデプロイメントとは対照的に、デプロイメント・ステップをスキップすることでデプロイメント時間を短縮します。クイック・デプロイメントは、ファイルの新しい内容または変更された内容のみをエミュレータまたはシミュレータに渡します。
Androidエミュレータでクイック・デプロイメントを使用するには、「アプリケーションのエミュレータへのデプロイ」アクションを選択します。たとえば、Android2という名前のデプロイメント・プロファイルの場合は、「アプリケーション」メニューで「デプロイ」を選択し、「Android2」を選択してから、デプロイメント・アクションを選択します。「AndroidエミュレータへのAndroidアプリケーションのデプロイ」を参照してください。iOSシミュレータでクイック・デプロイメントを使用するには、iOS2という名前のデプロイメント・プロファイルの場合、「アプリケーション」メニューで「デプロイ」を選択し、「iOS2」を選択してから、デプロイメント・アクションを選択します。「iOSシミュレータへのiOSアプリケーションのデプロイ」を参照してください。
注意:
最初のデプロイメントは完全なデプロイメントです。クイック・デプロイメントは、最初の完全なデプロイメントの後で実行できます。エミュレータまたはシミュレータにアプリケーションをデプロイすると、クイック・デプロイメント・セッション分析が開始されます。分析の結果によって、デプロイメントをクイック・デプロイメントにするか完全なデプロイメントにするかが決定されます。
クイック・デプロイメント・セッション分析は、アプリケーション・ファイルの変更を検出するために開始されます。アプリケーション・ファイルの変更を分析するMAFツールによってクイック・デプロイメントがトリガーされます。分析で同じデプロイメント・プロファイルを使用する前回のクイック・デプロイメント・セッションからデプロイメント・アーティファクトを見つけられない場合は、完全なデプロイメントがトリガーされます。
MAFでは、デプロイメント機能が簡略化されています。JDeveloperでアプリケーション・ファイルに変更を加えると、それらの変更は、エミュレータまたはシミュレータにデプロイされたアプリケーションに移動されるため、再デプロイメントの必要はありません。
クイック・デプロイメントの主な機能
クイック・デプロイメントには次の機能があります。
クイック・デプロイメントは、AndroidエミュレータまたはiOSシミュレータにデプロイされているアプリケーションでサポートされます。
仮想ボックス・イメージに対してルート・アクセスが構成されている場合は、そのイメージをクイック・デプロイメントに使用できます。
AMXページやタスク・フローへの変更など、JDeveloperでアプリケーションに変更を加えると、その変更はエミュレータやシミュレータにデプロイされているアプリケーションにプッシュされるため、完全なデプロイメントは必要ありません。アプリケーションの変更の完全なリストは、「クイック・デプロイメントをサポートするアーティファクト」を参照してください。
ファイルを削除すると、完全なデプロイメントがトリガーされます。
アプリケーションのクイック・デプロイメントでは、新しいファイルと変更されたファイルのみが更新されます。クイック・デプロイメントでは追加のデプロイメント処理は実行されません。
特定のアーティファクトやAMXページへの変更、バインディングの変更などが、MAFクイック・デプロイメントをサポートしています。
MAFクイック・デプロイメントをサポートするアーティファクトの変更
次のアーティファクトの変更は、クイック・デプロイメントをサポートします。
AMXページへの変更
タスク・フローへの変更
バインディングへの変更
maf-skins.xmlへの変更
新しいスタイル・シートの追加およびmaf-skins.xmlでの参照
maf-config.xmlへの変更
adf-config.xmlへの変更
connections.xmlへの変更
wsm-assembly.xmlへの変更
sync-config.xmlへの変更
クイック・デプロイメントは、リスとされた前提条件が満たされている場合にのみ開始されます。
MAFアプリケーションのクイック・デプロイメントの前提条件
アプリケーションのクイック・デプロイメントは、次の要件を満たすと開始されます。
ターゲットのAndroidエミュレータまたはiOSシミュレータでインストール済アプリケーションが利用可能である。
MAFアプリケーションのバンドルIDが一意である。
最初の完全なデプロイメントが完了済である。
クイック・デプロイメント・セッションは、デプロイメントをクイック・デプロイメントと完全なデプロイメントのどちらにする必要があるかを分析して判断します。このセッションは、アプリケーションのデプロイ時に開始されます。
エミュレータまたはシミュレータにアプリケーションをデプロイすると、クイック・デプロイメント・セッションが開始されます。セッションによって分析が実行され、デプロイメントをクイック・デプロイメントにするか完全なデプロイメントにするかが決定されます。
MAFクイック・デプロイメント・セッションと分析
クイック・デプロイメント・セッションは、次のように処理を進めます。
最初のクイック・デプロイメント・セッション分析を実行します。
アプリケーション・ファイルへの次の変更を記録します。
最後のクイック・デプロイメント・セッション以降の変更
同じデプロイメント・プロファイルを使用するアプリケーションへの変更
変更したファイルでクイック・デプロイメントがサポートされている場合は、クイック・デプロイメントのための次のようなステップが実行されます。そうでない場合は、フル・デプロイメントが行われます。
変更したファイルをエミュレータまたはシミュレータにコピーします。
エミュレータまたはシミュレータでアプリケーションを再起動します。
特定のアクションによって、アプリケーションの完全なデプロイメントがトリガーされます。アプリケーションの完全なデプロイメントが必要な場合は、リストされたアクションの1つを開始します。
アプリケーションの完全なデプロイメントをトリガーするアクション
次のアクションは、アプリケーションの完全なデプロイメントをトリガーします。
JDeveloperが再起動された。
MAF以外のプロジェクトでファイルが変更された。
MAF機能プロジェクト内のJavaファイルが作成、変更または削除された。
MAF以外のプロジェクトでファイルが変更され、デプロイメントの前に「すべてクリーン」が実行された。
MAF機能プロジェクト外において、アプリケーションでファイルが削除された。
アプリケーションが別のデプロイメント・プロファイル(前のクイック・デプロイメントで使用されていないプロファイル)を使用してデプロイされた。
アプリケーション・レベルの一部のアーティファクトによって、完全なデプロイメントがトリガーされる場合があります。次のアーティファクトへの変更は、完全なデプロイメントをトリガーします。
maf-application.xml
maf-feature.xml
maf-plugins.xml
maf.properties
logging.properties
特定のアクションを開始すると、アプリケーションの完全なデプロイメントを強制的に実施できます。リストされたアクションの1つを開始することで、完全なデプロイメントを開始します。
特定のユーザー・アクションは、MAFアプリケーションの完全なデプロイメントを強制します。
MAFアプリケーションの完全なデプロイメントを強制するアクション
アプリケーションの完全なデプロイメントは、複数の方法で強制できます。MAFアプリケーションの完全なデプロイメントをトリガーするには、次のいずれかのアクションを使用します。
クイック・デプロイメントをサポートしないファイルを変更します。
「ビルド」をクリックし、「すべてクリーン」をクリックします。
AndroidエミュレータまたはiOSシミュレータでアプリケーションをアンインストールします。
JDeveloperを再起動します。
MAFアプリケーションのクイック・デプロイメントに関して、いくつかの制限があります。リストに制限を列挙します。
クイック・デプロイメントの制限: ファイルのデプロイメントおよびユーザー・アクション
次のファイルは、デプロイメント中に追加処理が必要になるため、クイック・デプロイメントではデプロイできません。
MAF ViewControllerまたはApplicationControllerプロジェクト以外のプロジェクトで作成、更新または削除されたファイル
MAF機能プロジェクト外で削除されたアプリケーション・ファイル
MAF機能プロジェクト内から削除されたファイル
新規、変更または削除されたJavaファイル
アプリケーション・レベルの次のアーティファクトへの変更は、完全なデプロイメントをトリガーします。
maf-application.xml
maf-feature.xml
maf-plugins.xml
maf.properties
logging.properties
クイック・デプロイメントは、次のユーザー・アクションのコンテキストでは開始できません。
前のクイック・デプロイメントでインストールされたエミュレータ・アプリケーションの変更または削除。
前のクイック・デプロイメントで使用されていないデプロイメント・プロファイルを使用したアプリケーションのデプロイ。
クイック・デプロイメントでは、次の変更は検出または処理されません。
別のエミュレータへのアプリケーションのクイック・デプロイメント。
JDeveloperの再起動。JDeveloperの再起動後の最初のデプロイメントは完全なデプロイメントです。再起動後の完全なデプロイメントを確実に行うために必要なユーザー・アクションはありません。クイック・デプロイメントは、最初の完全なデプロイメントの後で実行できます。
アプリケーション機能は、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
機能アーカイブ・ファイルでの作業には、次のタスクがあります。
機能アーカイブ・ファイルの作成: 機能アプリケーションをライブラリJARファイルとしてデプロイすることで機能アーカイブを作成します。
モバイル・アプリケーション作成時の機能アーカイブ・ファイルの使用: これにはFARのインポートと、インポートされた接続の再マッピングが含まれます。
FARの機能を含むモバイル・アプリケーションのデプロイ - これには、デプロイメント・テンプレート内の一意の名前が付けられたフォルダへのFARの解凍が含まれます。
注意:
デプロイメント・プロセス時にMAFはFARを生成します。別のアプリケーションでこのFARを使用する場合は、ビュー・コントローラ・プロジェクトのみをデプロイすればすみます。
アプリケーションの接続を作成してから、タスク内の手順に従って、機能アーカイブ用のデプロイメント・プロファイルを作成します。
「デプロイメント・プロファイルの作成」ダイアログを使用します(図28-26を参照)。
図28-26 MAF機能アーカイブ・ダイアログの作成
始める前に:
アプリケーションの適切な接続を作成します。FARは様々な接続要件を持つ様々なアプリケーションで使用できるため、接続ソースまたは標準化された実際の接続名を表す接続名を選択します。
機能アーカイブのデプロイメント・プロファイルを作成するには:
MAFが提供する「機能アーカイブJARファイルへデプロイします。」オプションを使用すると、JARファイルとしてFARをデプロイできます。タスク内の手順に従って、機能アーカイブ・デプロイメント・ファイルをデプロイします。
「デプロイメント・アクション」ダイアログでは、FARをJARファイルとしてデプロイできます。図28-28に示すこのダイアログには、「機能アーカイブJARファイルへデプロイします。」という1つのデプロイメント・オプションのみがあります。
図28-28 デプロイメント・アクション
機能アーカイブのデプロイメント・プロファイルをデプロイするには:
機能アーカイブ・ファイルをデプロイすると、MAFは別のアプリケーションで利用するためのライブラリJARを作成します。別のアプリケーションは、この機能に「リソース・パレット」からアクセスします。
「デプロイメント・アクション」ダイアログを完了すると、MAFによって、「サマリー」ページに示されたパスにライブラリJARが作成されます。他のアプリケーションでこのJARを使用できるようにするには、最初に、図28-30に示す「リソース・パレット」(「MAFアプリケーションでのFARコンテンツの使用方法」で説明)で機能アーカイブJARの場所への接続を作成し、これを使用可能にする必要があります。図28-30は、ファイル・システム接続によりモバイル・アプリケーションで使用可能となる機能アーカイブを示しています。
図28-30 「リソース・パレット」のデプロイされた機能アーカイブJAR
新しいモバイル・アプリケーションを既存のモバイル・アプリケーションから作成するには、元のモバイル・アプリケーションをモバイル・アプリケーション・アーカイブ(.maa)ファイルとしてパッケージ化するか、この.maaから新しいモバイル・アプリケーションを作成します。
次のように既存のモバイル・アプリケーションから新しいモバイル・アプリケーションを作成できます。
元のモバイル・アプリケーションをモバイル・アプリケーション・アーカイブ(.maa
)ファイルとしてパッケージ化します
「アプリケーション・アーカイブからの新規アプリケーションの作成」の説明に従って、.maaファイルから新しいモバイル・アプリケーションを作成します。
.maa
ファイルによって、モバイル・アプリケーションの構造が保持されます。表28-4に、このファイルの内容を示します。
表28-4 モバイル・アプリケーション・アーカイブ・ファイルの内容
ディレクトリ | 説明 |
---|---|
|
次のようなメタデータ・ファイルを含む
|
|
ワークスペース内の各プロジェクトに対応するJARファイルが格納されます。たとえば、デフォルトのモバイル・アプリケーションを |
|
元のモバイル・アプリケーションの外部にあるアプリケーション・レベルのライブラリ(FARを含む)が格納されます。 |
|
|
|
次のディレクトリが含まれます。
|
表28-4にリストされたアーティファクトに加えて、.maa
ファイルには、元のモバイル・アプリケーションの内部にあるFARまたはJARファイル、およびその制御(.jws
)ファイルが格納されたフォルダが含まれます。「MAFアプリケーション・アーカイブ・ファイルをインポートする場合の処理」も参照してください。
注意:
.maa
ファイルを既存のアプリケーションにインポートすると、ワークスペースとプロジェクトのコンテナ・ファイル(それぞれ.jws
ファイルと.jpr
ファイル)が上書きされます。このため、MAF AMXページと構成ファイル(maf-application.xml
、maf-config.xml
、connections.xml
、adf-config.xml
など)に対して以前加えた変更の一部は保持されません。
タスク内の手順に従って、モバイル・アプリケーション・アーカイブ・ウィザードを使用して.maa
ファイルを作成します。.maa
ファイルは、OJDeployを使用して作成することもできます。
モバイル・アプリケーションの作成後、JDeveloperによって、デフォルトのMAFアプリケーション・アーカイブ・デプロイメント・プロファイルが作成されます。モバイル・アプリケーション・アーカイブ・ウィザードを使用すると、.maa
ファイルを作成できます。
ヒント:
また、「コマンド行からのMAFアプリケーションのデプロイ」で説明されているように、OJDeployを使用して.maa
ファイルを作成することもできます。
モバイル・アプリケーション・アーカイブ・ファイルを作成するには:
「アプリケーション」→「デプロイ」→「新規デプロイメント・プロファイル」をクリックします。
「デプロイメント・プロファイルの作成」ダイアログで、「MAFアプリケーション・アーカイブ」を選択し、「OK」をクリックします(図28-31を参照)。
図28-31 MAAデプロイメント・プロファイルの作成
必要に応じて、「アプリケーション・アーカイブ・オプション」ページでモバイル・アプリケーション・アーカイブの名前を入力する(図28-32を参照)か、デフォルトの名前(およびパス)をそのまま使用します。「OK」をクリックします。
図28-32 モバイル・アプリケーション・アーカイブ・ファイルの名前とパスの入力
必要に応じて、次を実行します。
「アプリケーション・ディスクリプタ」ページ(図28-33を参照)で、META-INF
フォルダ(application_workspace\src\META-INF
)の内容に付けるファイル・グループ名を入力します(またはデフォルトの名前をそのまま使用します)。
図28-33 META-INFの内容に付けるファイル・グループ名の入力
この「アプリケーション・ディスクリプタ」ページの「コントリビュータ」サブページを選択して、ファイル・グループの内容を提供するディレクトリとJARファイルのリストを編集します。
図28-34 モバイル・アプリケーション・アーカイブ・ファイルへのコントリビュータの編集
「フィルタ」ページ(図28-35を参照)を使用して、.maa
ファイルに含めるファイルの編集やコンテンツの組込みまたは除外ルールの設定を行います。
図28-35 ファイルとディレクトリの組込み(または除外)
「プロファイルの依存性」ページ(図28-36を参照)を使用して、プロジェクト内の依存プロファイルを指定します。
図28-36 デプロイメント・プロファイルの選択
モバイル・アプリケーションをMAFアプリケーション・アーカイブ・ファイルにパッケージ化するには、次の手順を実行します。
アプリケーション・アーカイブ・ファイルを使用して、様々なカスタマイズが容易になる新しいMAFアプリケーションを作成します。
開発者(および同僚やパートナ)は、アプリケーション・アーカイブ・ファイル(.maa
)を起点として新しいMAFアプリケーションを作成できます。.maa
ファイルからモバイル・アプリケーションを導出することによって、次のような様々なカスタマイズが可能になります。
アプリケーションへの一意のアプリケーションIDの付与(プッシュ通知を有効にする場合など)。
企業固有の資格証明または証明書を使用した、アプリケーションへの署名。
カスタマイズされたスプラッシュ画面とアプリケーション・アイコンによる、リソースの置換え。
MAFアプリケーション・アーカイブ(.maa
)・ファイル形式を使用すると、署名されていないモバイル・アプリケーションをサード・パーティに提供できます。
注意:
.maa
ファイルを既存のアプリケーションにインポートすると、ワークスペースとプロジェクトのコンテナ・ファイル(それぞれ.jws
ファイルと.jpr
ファイル)が上書きされます。このため、MAF AMXページと構成ファイル(maf-application.xml
、maf-config.xml
、connections.xml
、adf-config.xml
など)に対して以前加えた変更の一部は保持されません。
タスク内の手順に従って、「アーカイブ・ファイルからのMAFアプリケーション」オプションを使用して、.maa
ファイルを新しいモバイル・アプリケーションにインポートします。
.maa
ファイルを新しいモバイル・アプリケーションにインポートします。
アプリケーション・アーカイブから新しいアプリケーションを作成するには、次の手順を実行します。
「ファイル」→「新規」を選択します。
「新規ギャラリ」で、「アプリケーション」→「アーカイブ・ファイルからのMAFアプリケーション」を選択します。
注意:
または、「ファイル」→「インポート」→「アーカイブ・ファイルからのMAFアプリケーション」を選択してもかまいません。
「場所」ページで、「MAAファイル」フィールドの「参照」を選択し、MAAファイルの場所に移動します。
必要に応じて、次を実行するか、デフォルト値をそのまま使用します。
.maa
ファイルから導出したモバイル・アプリケーションの名前を「アプリケーション・ファイル」フィールドに入力します(図28-39を参照)。
「参照」をクリックして、モバイル・アプリケーションのディレクトリを取得します。
図28-39 ディレクトリの場所の入力
「次へ」をクリックしてインポートのサマリー情報を確認し、「終了」をクリックします。
MAFは、アプリケーション・フォルダを作成して、そこに関連ディレクトリとそのコンテンツを解凍します。「プロジェクト」ディレクトリ内のJARファイルごとに、MAFはプロジェクト・フォルダを作成して、JARファイルのコンテンツを該当するプロジェクト・フォルダに解凍します。
MAFでは、.maa
ファイルのインポート後に次のことを実行します。
アプリケーション・フォルダを作成します。
ワークスペース・コンテナ(.jws
)・ファイルを.maa
ファイルからアプリケーション・ファイルに解凍し、ユーザー指定の値に従ってその名前を変更します。
adf
ディレクトリとその内容をアプリケーション・フォルダに解凍します。このディレクトリの名前は、.adf
に変更されます。
META-INF
ディレクトリとその内容をアプリケーション・フォルダに解凍し、アプリケーション・フォルダのsrc
ディレクトリ内に配置します。
ExternalLibs
ディレクトリとその内容をアプリケーション・フォルダに解凍します。
注意:
このディレクトリに格納された外部リソースはすべて、.maa
ファイルとしてパッケージ化された(そしてアプリケーションにインポートされた)モバイル・アプリケーション内で使用できますが、これらのリソースへの参照は、.maa
ファイルから導出されたモバイル・アプリケーションに対しては無効になります。
resources
ディレクトリをアプリケーション・フォルダに解凍します。
元のモバイル・アプリケーションの内部にあるFAR (またはその他のライブラリ)を含む、すべてのフォルダを解凍します。MAFによって、これらのアーティファクトの元の場所が保持されます。
元のモバイル・アプリケーションのProjects
ディレクトリ内にあるJARファイルごとに、MAFは次を実行します。
JARファイルの名前(.jar
拡張子を除く)に対応するアプリケーション・ディレクトリの下に、プロジェクト・フォルダを作成します。
JARファイルの内容を、適切なプロジェクト・フォルダ内に解凍します。MAFによって、これらのプロジェクト・フォルダ内に次のものが格納されます。
元の.jpr
ファイル。
META-INF
、public_html
、src
、adfmsrc
などの標準的なディレクトリ。
ExternalLibs
ディレクトリの内容。
注意:
このディレクトリに格納された外部リソースはすべて、インポート済の.maa
ファイルを使用してパッケージ化されたMAFプロジェクト内で使用できますが、これらのリソースへの参照は、既存のプロジェクト、または.maa
ファイルをインポートすることによって作成されたプロジェクトに対しては無効になります。
JARファイル内にパッケージ化されたすべてのJavaクラスを含むclasslib
ディレクトリ。
注意:
.maa
ファイルにclasslib
ディレクトリが含まれている場合、MAFでは、このディレクトリのすべてのJARファイルを、新しく作成されたモバイル・アプリケーションにライブラリ依存性として追加します。
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コマンド行ツールを使用することはできません。
デプロイ・コマンドを個別に使用するか、それらのコマンドを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引数
引数 | 説明 |
---|---|
|
AndroidまたはiOSデプロイメント・プロファイルの名前。次に例を示します。 ojdeploy deployToSimulator -profile iosDeployProfile ... |
|
モバイル・アプリケーション・ワークスペースのコンテナ( ... -workspace /usr/jsmith/mywork/Application1/Application1.jws モバイル・アプリケーションをモバイル・アプリケーション・アーカイブとしてパッケージ化するには: ojdeploy deployToApplicationArchive -profile applicationArchiveProfile -workspace /usr/jdoe/Application1/application1.jws |
|
ojdeploy deployToFeatureArchive -profile farProfileName -project ViewController ... |
|
バッチ・デプロイ用のビルド・ファイルへのフルパス。 |
|
ビルドファイルの出力XMLスキーマ。 |
表28-5に示した引数の他に、『Oracle JDeveloperによるアプリケーションの開発』のコマンドの使用方法の項で説明されているOJDeployオプションを使用することもできます。
注意:
次のオプションはサポートされていません。
-forcerewrite
-nocompile
-nodatasources
-nodepdendents
-outputfile
-updatewebxmlejbrefs
表28-6に、MAFのデプロイメント・コマンドでOJDeployオプションを使用する方法の例を示します。
表28-6 MAFのデプロイメント用の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 |
表28-7は、deployToApplicationArchive
コマンドとともに使用するマクロを示しています。
表28-7 MAFアプリケーション・アーカイブのパッケージ化に使用するマクロ
マクロ | 説明 |
---|---|
|
アプリケーション・ワークスペースのコンテナ・ファイルの名前( |
|
アプリケーション・ワークスペースのコンテナ( |
|
デプロイするプロファイルの名前。 |
|
プロファイルのデフォルトのデプロイメント・ディレクトリ。 |
|
このパラメータを使用して、現在のojdeployディレクトリをオーバーライドします。ビルド・スクリプトでbasedir属性を使用して、現在のojdeployディレクトリをオーバーライドできます。 |
エンタープライズレベルのセキュリティために、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を使用してアプリケーションをコンテナ化する手順:
「ツール」→「プリファレンス」→「モバイル・アプリケーション・フレームワーク」を選択します。
「コンテナ化」を選択します。
図28-40に示すように、「参照」アイコンをクリックし、ローカル・ファイル・システムでモバイル・セキュリティ・アプリケーション・コンテナ化ツールのインストール場所を探します。
図28-40 コンテナ化ツールの場所の指定
「OK」をクリックしてコンテナ化ツールを選択します。
「アプリケーション」→「アプリケーション・プロパティ」→「デプロイメント」の順にクリックします。
「デプロイメント」ページで、デプロイメント・プロファイルをダブルクリックして、「オプション」を選択します。
「iOSオプション」ページの下部で、「Oracleモバイル・セキュリティ・スイートの有効化」を選択します。
Oracle Mobile Security Suiteを使用してアプリケーションをデプロイする手順:
「アプリケーション」→「デプロイ」の順にクリックして、デプロイメント・プロファイルを選択します。
「デプロイメント・アクション」ダイアログで、アプリケーションのデプロイ方法を選択します。
注意:
iOSの場合、コンテナ化はiTunesデプロイメントでのみサポートされています。配布パッケージまたはシミュレータへのデプロイメントでは、コンテナ化された.ipa
ファイルを作成することはありません。
Androidの場合、コンテナ化は、デバイスまたは配布パッケージへのデプロイメントでのみサポートされています。エミュレータへのデプロイメントでは、コンテナ化されたapk
ファイルは作成されません。
アプリケーションをデプロイします。Oracle Mobile Security Suiteによって保護されたプラットフォーム固有ファイル(iOSでは.ipa
、Androidでは.apk
)が作成されます。コンテナ化されたアプリケーションをデバイスに追加すると、そのアプリケーションにロック・アイコンが表示されます(図28-41を参照)。
図28-41 コンテナ化を表すロック・アイコンが表示されたモバイル・アプリケーション
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をリダイレクトすることを防止できます。