ヘッダーをスキップ

Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.0.1 E57592-01 |
| 目次

前 | 次 |

# 2 開発環境の設定

この章では、アプリケーション開発およびデプロイメント用にモバイル・アプリケーション・フレームワーク(MAF)環境を設定および構成する方法について説明します。

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

- 第2.1項「MAF環境の概要」

- 第2.2項「MAFアプリケーション開発の前提条件」

- 第2.3項「JDeveloperの設定」

- 第2.4項「iOSプラットフォーム用の開発ツールの設定」

- 第2.5項「Androidプラットフォーム用の開発ツールの設定」

- 第2.6項「環境設定のテスト」

## 2.1 MAF環境の概要

MAFアプリケーションを開発する前に、様々なソフトウェア・コンポーネントをダウンロード、インストールおよび構成することで、開発環境を設定する必要があります。

IDE、モバイル・プラットフォーム固有のツールおよび(可能であれば)モバイル・デバイスで構成される標準的なMAF開発環境を設定するには、第2.2項「MAFアプリケーション開発の前提条件」で説明する手順に従ってください。

## 2.2 MAFアプリケーション開発の前提条件

アプリケーション開発の前提条件は、ターゲット・プラットフォームおよび実行を予定している作業のタイプによって異なります。

- iOSプラットフォーム用アプリケーションを開発するための必要事項

- Androidプラットフォーム用アプリケーションを開発するための必要事項

特定のタイプのMAFアプリケーション・コンテンツ(HTML、リモートURLまたはMAF AMX)を作成するために、追加のツールをインストールする必要はありません。

### 2.2.1 iOSプラットフォーム用アプリケーションを開発するための必要事項

iOSに対応したMAFアプリケーションの作成を開始する前に、次のものが使用可能であることを確認します。

- Mac OS Xが稼働しているコンピュータ

- Oracle JDeveloper (第2.3項「JDeveloperの設定」を参照)。

- MAF用のOracle JDeveloper拡張機能(第2.3項「JDeveloperの設定」を参照)

- XcodeおよびiOS SDK (第2.4.1項「XcodeおよびiOS SDKのインストール方法」を参照)

開発環境へのアプリケーションのデプロイをのスタート・ガイドする前に(第3章「モバイル・アプリケーション開発のスタート・ガイド」を参照)、モバイル・デバイスまたはそのシミュレータを使用するかを決定しますが、シミュレータを使用する場合は第2.4.3項「iPhoneまたはiPadシミュレータの設定方法」を参照し、モバイル・デバイスへのデプロイを目標としている場合は、上に示したリストに含まれるコンポーネントに加えて次のものが使用可能であることを確認してください。

- 各種ログイン資格証明。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

- iOSデバイス。詳細は、第2.4.2項「iPhoneまたはiPadの設定方法」を参照してください。

### 2.2.2 Androidプラットフォーム用アプリケーションを開発するための必要事項

Androidに対応したMAFアプリケーションの作成を開始する前に、次のものが使用可能であることを確認します。

- 次のいずれかのオペレーティング・システムが稼働しているコンピュータ

  - Microsoft Windows Vista

  - Microsoft Windows 7

  - Mac OS X

- JDK1.7の最新バージョン

- Platform 4.0以降のAndroid SDKとそのツール(第2.5.1項「Android SDKのインストール方法」を参照)

- Oracle JDeveloper (第2.3項「JDeveloperの設定」を参照)。

- MAF用のOracle JDeveloper拡張機能(第2.3項「JDeveloperの設定」を参照)

開発環境へのアプリケーションのデプロイをのスタート・ガイドする前に(第3章「モバイル・アプリケーション開発のスタート・ガイド」を参照)、モバイル・デバイスまたはそのエミュレータを使用するかを決定しますが、エミュレータを使用する場合は第2.5.3項「Androidエミュレータの設定方法」を参照し、モバイル・デバイスへのデプロイを目標としている場合は、上に示したリストに含まれるコンポーネントに加えて次のものが使用可能であることを確認してください。

- 各種ログイン資格証明。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

- Androidデバイス。詳細は、第2.5.2「Androidデバイスの設定方法」を参照してください。

### 2.2.3 サポートされているIDEに関する必知事項

MAFアプリケーションの開発には、JDeveloper以外のIDEを使用することが可能です。このようなIDEの1つにEclipse (`https://www.eclipse.org/downloads`を参照)がありますが、これを使用するには、Oracle Enterprise Pack for Eclipse (OEPE)拡張機能(`http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html`を参照)のインストールが必要になります。

### 2.2.4 プラグインの移行に関する必知事項

PhoneGapはApache Cordovaに吸収されたため、PhoneGapプラグインがインストールされている場合は、それらをCordova 2.2バージョンに移行する必要があります。

## 2.3 JDeveloperの設定

Oracle JDeveloperとそのMAF拡張機能は、MAFアプリケーションの開発に不可欠なツールです。

始める前に

MAFドキュメント・ページ(`http://www.oracle.com/technetwork/developer-tools/maf/documentation/`)で動作保証およびサポート・マトリックスを参照し、ターゲット・プラットフォームについて、第2.2項「MAFアプリケーション開発の前提条件」にリストされているソフトウェアと互換性のあるOracle JDeveloperのリリースを確認してください。

Oracle JDeveloperの適切なリリースをダウンロードし、インストールします。要求されたら、「Studio開発者(すべての機能)」ロールを選択します。

次のドキュメントを参照してください。

- ターゲット・プラットフォームがiOSの場合は、『Oracle Fusion Middleware Oracle JDeveloperのインストール』のMac OS Xプラットフォーム上のOracle JDeveloperの使用方法に関する項を参照してください。

- ターゲット・プラットフォームがAndroidの場合は、『Oracle Fusion Middleware Oracle JDeveloperのインストール』を参照してください。

MAF拡張機能をダウンロードしてインストールするには:

1. JDeveloperで、「ヘルプ」→「更新のチェック」を選択します。

   注意: プロキシ設定を構成する必要がある場合は、メイン・メニューから「ツール」→「プリファレンス」を選択し、「プリファレンス」ダイアログの左側のツリーから「Webブラウザとプロキシ」を選択します。

2. 図2-1に示す「更新ソースの選択」ページで、「更新センターの検索」の公式のOracle拡張機能と更新を選択して、「次へ」をクリックします。

   図2-1 JDeveloperでの更新のチェック

3. 「インストールする更新の選択」ダイアログで、「モバイル・アプリケーション・フレームワーク」の更新を選択します。

4. 図2-2に示す「ライセンス契約」ページで、Oracleモバイルに関するOracle Technology Networkライセンス条項を確認します。

   注意: Oracle Mobile Application Framework Programに関するすべてのライセンス条項および条件(`http://www.oracle.com/technetwork/indexes/downloads/index.html`)に従う必要があります。

5. 「同意する」をクリックします。

   図2-2 Oracle Mobile Application Framework Programのライセンス契約

6. 「次へ」をクリックして、「完了」をクリックします。

7. JDeveloperを再起動します。

8. JDeveloperにMAFが正しく追加されているかどうかを確認します。

   - メイン・メニューから「ファイル」→「新規」→「ギャラリから」を選択し、「新規ギャラリ」ダイアログを開きます。

   - 左側の「カテゴリ」ツリーで、「クライアント層」ノードを展開し、「モバイル・アプリケーション・フレームワーク」が存在することを確認します(図2-3を参照)。

   図2-3 MAFのインストールの確認

   さらに、正しいバージョンのMAFがインストールされていることを確認します。確認するには、メイン・メニューから「ヘルプ」→「バージョン情報」を選択し、Oracle JDeveloperバージョン情報ダイアログの「拡張機能」タブを選択し、図2-4に示すように、拡張機能リストのエントリで「モバイル・アプリケーション・フレームワーク」を検索して調べます。

   図2-4 MAFのバージョンの確認

前述の手順に加え、開発環境をターゲット・プラットフォームおよびフォーム・ファクタに応じて構成する必要があります。詳細は、第2.3.1項「プラットフォームとフォーム・ファクタに応じた開発環境の構成方法」を参照してください。

### 2.3.1 プラットフォームとフォーム・ファクタに応じた開発環境の構成方法

MAFアプリケーションの開発およびデプロイを開始する前に、該当するプラットフォーム(第2.3.1.2項「ターゲット・プラットフォームに応じた環境の構成」を参照)とフォーム・ファクタ(see 第2.3.1.1項「フォーム・ファクタに応じた環境の構成」を参照)に対応するJDeveloperプリファレンスを構成する必要があります。

#### 2.3.1.1 フォーム・ファクタに応じた環境の構成

フォーム・ファクタとは特定のデバイス構成のことです。各フォーム・ファクタは指定した名前で識別され、ここには、ピクセル単位の幅と高さで表された指定解像度に関する情報が含まれています。

プリファレンスで定義されているフォーム・ファクタはMAF AMXページの「プレビュー」タブで使用されるため(第5.3.2.2項「「プレビュー」の使用方法」を参照)、MAF AMXアプリケーション機能をMAFアプリケーションの一部として含める予定で、デフォルト設定を使用しない場合は、この構成を実行するよう選択できます。開発時に、様々なフォーム・ファクタを選択したり切り替えたりして、MAF AMXページをレンダリングする方法を確認できます。分割画面ビューを使用すると、同じページに適用された複数のフォーム・ファクタを確認することもできます。

詳細は、第4.12.1項「maf-config.xmlファイルについて」を参照してください。

始める前に

第2.3項「JDeveloperの設定」の説明に従って、JDeveloperとMAF拡張機能をダウンロードしてインストールします。

フォーム・ファクタを構成するには:

1. JDeveloperのメイン・メニューから「ツール」→「プリファレンス」を選択して、「プリファレンス」を開きます。

2. 図2-5に示されている「プリファレンス」ダイアログで、左側のツリーから「モバイル・アプリケーション・フレームワーク」を選択します。

   図2-5 フォーム・ファクタの定義

   「モバイル・アプリケーション・フレームワーク」ページには使用可能なフォーム・ファクタが移入され、デフォルトは「Android Low」に設定されています。

   このプリファレンス・ページでは、画面解像度サイズとプラットフォームを結合する一連の名前付きフォーム・ファクタを作成して管理できます。

3. 新しいフォーム・ファクタを作成するには、緑の正符号(「新規」)をクリックして、次の項目を設定します。

   - 名前: フォーム・ファクタの識別に使用する意味のある文字列。

   - プラットフォーム: モバイル・デバイスのプラットフォーム。

   - モデル: モバイル・デバイスのタイプ。

   - デフォルトの向き: MAF AMXページの「プレビュー」タブで使用されるデバイスのデフォルトの向き。「縦」または「横」です。この設定は値のドロップダウン・リストから選択します。デフォルト値は「縦」で、新しいフォーム・ファクタの作成時にはこの値が移入されます。

   - 幅: ピクセル単位の幅。値は正の整数である必要があり、入力は検証されます。

   - 高さ: ピクセル単位の高さ。値は正の整数である必要があり、入力は検証されます。

   - スケール係数: 表示のスケール係数。この値は、1.0、2.0、3.0のいずれかにする必要があります。

   注意: フォームに名前と解像度が設定されていない場合、MAFからエラー・メッセージが表示されます。

4. デフォルト設定に戻す必要がある場合は、「その他のアクション」→「デフォルトに戻す」をクリックします。

5. 「OK」をクリックして、設定を終了します。

#### 2.3.1.2 ターゲット・プラットフォームに応じた環境の構成

MAFによってサポートされるターゲット・プラットフォームに対応するアプリケーションを正常にパッケージ化およびデプロイするには、プラットフォームの名前や、プラットフォーム固有のツールやデータを格納するための開発用コンピュータ上のディレクトリなどの情報を、JDeveloperに提供する必要があります。便宜上、MAFによりJDeveloperプリファレンスにこれらの設定が事前に移入されています。アプリケーション署名に関連する複数のファクタに応じて、一部のフィールドの変更が必要になる場合があります。

始める前に

第2.3項「JDeveloperの設定」の説明に従って、JDeveloperとMAF拡張機能をダウンロードしてインストールします。

ターゲット・プラットフォームに応じて、Android SDK (第2.5.1項「Android SDKのインストール方法」を参照)またはiOS SDKとXcode (第2.4.1項「XcodeおよびiOS SDKのインストール方法」を参照)をダウンロードし、構成します。

ターゲット・プラットフォームに応じた環境を構成するには:

1. JDeveloperのメイン・メニューから「ツール」→「プリファレンス」を選択して、「プリファレンス」を開きます。

2. 図2-5に示されている「プリファレンス」ダイアログで、ツリーから「モバイル・アプリケーション・フレームワーク」→「Androidプラットフォーム」または「モバイル・アプリケーション・フレームワーク」→「iOSプラットフォーム」を選択し、サポートされているプラットフォームのパスおよび構成パラメータが含まれるページを開きます(図2-6および図2-7を参照)。

   各プラットフォーム固有のページには、プラットフォームSDK (AndroidまたはiOS)のプリファレンスが表示されます。ここには、MAFがAndroidまたはiOSプロジェクトのコンパイルおよびデプロイのために必要とするパスなどの必要情報が集められています。

   - Androidプラットフォームの場合は、コンピュータ上のAndroid SDKの場所とターゲットのAndroidプラットフォームのローカル・ディレクトリを指定し、署名資格証明に関する情報を入力します(図2-6を参照)。

     図2-6 Androidプラットフォームのプリファレンスの構成

   - iOSプラットフォームの場合(図2-7を参照)、次の情報を指定します。

     - Mac OSコンピュータ上のiOSシミュレータSDKの場所

     - Xcodebuildユーティリティの場所(第19.4.1項「iOSシミュレータへのiOSアプリケーションのデプロイ方法」を参照)

     - iTunesメディア・ファイルの場所(iOSデバイスに同期化されるモバイル・アプリケーションを含む)

     - iOSデバイスの署名情報(第19.2.4.2項「デバイス署名オプションの設定」を参照)

     図2-7 iOSプラットフォームのプリファレンスの構成

## 2.4 iOSプラットフォーム用の開発ツールの設定

iOSプラットフォーム用のMAFアプリケーションの開発に向けて準備を行う場合には、第2.2項「MAFアプリケーション開発の前提条件」に示した一般目的のツールに加えて、iPhoneまたはiPadの設定を行う場合もあります(第2.4.2項「iPhoneまたはiPadの設定方法」を参照)。

iOS SDKインストール内にはiPhoneおよびiPadのシミュレータが含まれているため、そしてiOS SDKはXcodeインストールに含まれているので、これらを別途インストールする必要はありません。詳細は、第2.4.3項「iPhoneまたはiPadシミュレータの設定方法」を参照してください。

### 2.4.1 XcodeおよびiOS SDKのインストール方法

Xcodeは、`http://developer.apple.com/xcode/`からダウンロードできます。このダウンロードには、iOS SDKが含まれています。

Xcodeをインストールしたら、少なくとも1回はこれを実行して、Appleのライセンスおよび設定ダイアログに入力を行う必要があります。これらの手順を実行していない場合、JDeveloperからXcodeまたはデバイス・シミュレータへの構築およびデプロイ・サイクルが、「リターン・コード: 69」エラーによって失敗します。

注意: XcodeおよびiOS SDKの以前のバージョンはMac App Storeから入手できないため、それらをダウンロードするには、`http://appleid.apple.com`からApple IDを取得した後、そのApple IDをApple Developer Programに登録して、Apple社の開発者向けサイト(`http://developer.apple.com`)へのアクセス権を取得します。

### 2.4.2 iPhoneまたはiPadの設定方法

MAFアプリケーションの開発およびデプロイメントでは、iPhone、iPadまたはこれらのシミュレータのいずれかを使用できます(第2.4.3項「iPhoneまたはiPadシミュレータの設定方法」を参照)。テストには実際のiPhoneまたはiPadを使用することをお薦めしますが(第22.2項「MAFアプリケーションのテスト」を参照)、この場合は、iPhoneまたはiPadをコンピュータと接続して、2つのデバイス間のリンクを確立する必要があります。

iOSデバイスにデプロイするには、有効なライセンス、資格証明および配布プロファイルを備えたiOSデバイスを用意する必要があります。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

注意: Apple社のライセンス条項および条件は変更される場合があるため、内容を理解し、それらに従うとともに、最新の変更内容を把握しておく必要があります。

### 2.4.3 iPhoneまたはiPadシミュレータの設定方法

MAFアプリケーションの開発およびデプロイメントでは、iOSデバイス自体を使用するか(第2.4.2項「iPhoneまたはiPadの設定方法」を参照)、そのシミュレータを使用できます。通常、シミュレータへのデプロイはデバイスへのデプロイよりはるかに高速で、最初にアプリケーションに署名する必要もありません。

シミュレータは自動的に起動できます。追加の設定は必要ありません。

注意: JDeveloperからデバイス・シミュレータにアプリケーションをデプロイする前に、まずシミュレータを実行する必要があります。

アプリケーションでWebサービスを使用する予定で、企業のファイアウォールで保護されている環境の場合は、外部ネットワーク・アクセスを構成する必要がある可能性があります。このためには、開発用コンピュータのシステム・プリファレンスでネットワーク設定を変更します。詳細は、第8.7項「ブラウザ・プロキシ情報の構成」を参照してください。

## 2.5 Androidプラットフォーム用の開発ツールの設定

Androidプラットフォーム用のMAFアプリケーションの開発に向けて準備を行う場合には、第2.2項「MAFアプリケーション開発の前提条件」に示した一般目的のツールに加えて、Androidデバイスの設定を行う場合もあります(第2.5.2項「Androidデバイスの設定方法」を参照)。

エミュレータはAndroid SDKインストールに含まれているので、これらを別途インストールする必要はありません。詳細は、第2.5.3項「Androidエミュレータの設定方法」を参照してください。

Androidプラットフォーム用の開発を行う場合、JDeveloperとAndroidの両方でサポートされるオペレーティング・システムはどれでも使用できます。

詳細は、Android開発者のWebサイト(`http://developer.android.com/tools/index.html`)の「Developer Tools」を参照してください。

### 2.5.1 Android SDKのインストール方法

Android SDKには、Androidデバイス用のアプリケーションを構築するために必要な開発ツールが含まれています。Android SDKはモジュラなので、ターゲットのAndroidプラットフォームとアプリケーションの要件に応じてコンポーネントを個別にダウンロードできます。

プラットフォームを選択するときには、MAFがAndroid 4.0以上をサポートしていることに注意します。

始める前に

使用している環境が、Android開発者のWebサイト(`http://developer.android.com/sdk/index.html`)の「Get the Android SDK」にリストされているオペレーティング・システム、JDKバージョンおよびハードウェア要件と適合していることを確認します。

注意: AntおよびLinuxの要件はMAFの開発環境には適用できませんが、Eclipseは、選択したIDEによっては適用できることがあります。

Android SDKをインストールするには:

1. `http://developer.android.com/sdk/index.html`から、Android SDKスターター・パッケージをダウンロードします。

2. Android開発者のWebサイト(`http://developer.android.com/sdk/installing.html`)の「Setting Up an Existing IDE」にある手順に従って、インストールを完了します。

   注意: Eclipseを使用する予定がない場合は、Android SDKのインストール手順の手順3をスキップします。

### 2.5.2 Androidデバイスの設定方法

MAFアプリケーションの開発およびデプロイメントでは、Androidデバイス自体を使用(テストにはこちらをお薦めします。第22.2項「MAFアプリケーションのテスト」を参照)するか、エミュレータを使用(第2.5.3項「Androidエミュレータの設定方法」を参照)できます。

Androidデバイスの設定方法の詳細は、Android開発者のWebサイト(`http://developer.android.com/tools/device.html`)の「Using Hardware Devices」にある手順を参照してください。

注意: デバイス・ベースのデバッグのためにUSB接続を使用している場合、問題が発生する可能性があります。詳細は、第22章「MAFアプリケーションのテストおよびデバッグ」を参照してください。

ターゲットのAndroidデバイスがUSBデバイス・ドライバの`.inf`ファイル内にリストされていない場合、Androidデバッグ・ブリッジ(ADB)のインストールに失敗してしまいます。この問題の回避方法は次のとおりです。

1. 使用しているデバイスの正しい値を見つけます。

2. `android_winusb.inf`ファイルの`[Google.NXx86]`および`[Google.NTamd64]`セクションを更新します。

詳細は、Android開発者のWebサイト(`http://developer.android.com/sdk/win-usb.html`)の「Google USB Driver」を参照してください。

### 2.5.3 Androidエミュレータの設定方法

MAFアプリケーションの開発およびデプロイメントでは、Androidデバイス自体を使用するか(第2.5.2項「Androidデバイスの設定方法」を参照)、そのエミュレータを使用できます。通常、エミュレータへのデプロイはデバイスへのデプロイよりはるかに高速で、最初にアプリケーションに署名する必要もありません。

Android Virtual Device (AVD)と呼ばれるエミュレータ構成の作成方法の詳細は、Android開発者のWebサイト(`http://developer.android.com/tools/devices/index.html`)の「Managing Virtual Devices」にある手順を参照してください。新規Android Virtual Deviceの作成ダイアログ(`http://developer.android.com/tools/devices/managing-avds.html`の「Managing AVDs with AVD Manager」を参照)を使用してAVDを作成する場合は、すべての設定を確認し、エミュレート予定のものに構成が一致するようにしてください。特に、次のことを確認する必要があります。

- 「Target」フィールドに、正しいエミュレーションのために必要なAndroidプラットフォーム・レベルが定義されている必要があります。

- 「CPU/ABI」フィールドに、Intel Atomシステム・イメージが反映されている必要があります(第2.5.3.2.1項「Intel HAXMに応じたAVDの構成」を参照)。

- 「SD Card」フィールドには、アプリケーションによりファイルがアップロードされるか、ファイル自体によりファイルがSDカードにインストールされるかに基づいた定義が含まれる必要があります。

- 「Hardware」フィールド(`http://developer.android.com/tools/devices/managing-avds.html#hardwareopts`の「Hardware Options」表を参照)のデフォルト設定が、標準的なMAFアプリケーションに受け入れ可能なものである必要があります。カメラ、地理的位置情報サービスなどのハードウェア機能をアプリケーションに追加する場合は、新規プロパティを作成します。

アプリケーションをテストする予定のAndroidプラットフォームごとに、AVDを作成する必要があります。

エミュレータの使用方法の詳細は、Android開発者のWebサイト(`http://developer.android.com/tools/devices/emulator.html`)の「Using the Android Emulator」を参照してください。

#### 2.5.3.1 Androidエミュレータの構成

Androidエミュレータの基本設定が完了したら、次の構成を実行するよう選択できます。

- エミュレータの状態の保存(第2.5.3.1.1項「エミュレータの状態の保存」を参照)

- SDカードの作成、保存および再使用(第2.5.3.1.2項「SDカードの作成、保存および再使用」を参照)

- ネットワークの構成(第2.5.3.1.3項「ネットワークの構成」を参照)

- ネットワーク・プロキシの構成(第2.5.3.1.4項「ネットワーク・プロキシの構成」を参照)

- ネイティブ・スクロールの有効化(第2.5.3.1.5項「ネイティブ・スクロールの有効化」を参照)

##### 2.5.3.1.1 エミュレータの状態の保存

エミュレータの状態を保存するか、保存済の状態を再利用することによって、エミュレータのロード時間を短縮できます。このためには、(Windowsコンピュータ上の)`C:\Users\``username``\.android\avd`ディレクトリにある`avd`ファイルまたはフォルダを操作します。各`avd`フォルダには、`userdata.img`、`userdata.qemu.img`、`cache.img`などの複数のファイルが格納されています。`cache.img`ファイルを別のエミュレータの`avd`フォルダにコピーして、その状態を別のエミュレータで使用できます。

または、コマンド行を使用して、`-snapshot-list`、`-no-snapstorage`などの関連コマンドを実行できます。これらのコマンドには、`emulator -help`コマンドを使用してアクセスできます。

注意: このユーティリティを使用する場合、ロード・プロセスを実行すると、システムのすべてのコンテンツ(ユーザー・データやSDカードのイメージを含む)が、スナップショット作成時に保存されたコンテンツによって上書きされるので注意してください。別のスナップショットに保存していないと、変更内容はすべて失われてしまいます。

##### 2.5.3.1.2 SDカードの作成、保存および再使用

Android開発者のWebサイトの「SD Card Emulation」(`http://developer.android.com/tools/devices/emulator.html#sdcard`)に、SDカードを作成、保存および再利用する理由が説明されています。これらの操作は、次のコマンドを実行して行うことができます。

- SDカードを作成するコマンドは次のとおりです。

      C:\android sdk directory\tools>mksdcard -l SD500M 500M C:\Android\sd500m.img

- 既存のAVDをリストするコマンドは次のとおりです。

      C:\android sdk directory\tools>android list avd

  これによって、次のようなリストが生成されます。

      Name:    AndroidEmulator1
      Device:  Nexus S (Google)
      Path:    C:\Users\username\.android\avd\AndroidEmulator1.avd
      Target:  Android 4.2.2 (API level 17)
      Tag/ABI: default/x86
      Skin:    480x800
      ------------
      Name:    AndroidEmulator2
      Device:  Nexus S (Google)
      Path:    C:\Users\username\.android\avd\AndroidEmulator2.avd
      Target:  Android 4.2.2 (API level 17)
      Tag/ABI: default/armeabi-v7a
      Skin:    480x800
      Sdcard:  500M

- 作成したSDカードによってAndroidEmulator2を起動するコマンドは次のとおりです。

      C:\Android\android sdk directory\tools>emulator -avd AndroidEmulator2 -sdcard C:\Android\sd500m.img

- 実行中のAndroidエミュレータ・インスタンスをリストするコマンドは次のとおりです。

      C:\Android\android sdk directory\platform-tools>adb devices

- テスト・イメージをSDカードにコピーするコマンドは次のとおりです(この場合、エミュレータを再起動する必要があります)。

      C:\Android\sdk\platform-tools>adb push test.png sdcard/Pictures
      85 KB/s (1494 bytes in 0.017s)

詳細は、Androidのツールのヘルプ(`http://developer.android.com/tools/help/index.html`)を参照してください。

##### 2.5.3.1.3 ネットワークの構成

Androidエミュレータからは、10.0.2.2 IPを経由して、ホスト・コンピュータにアクセスできます。ホスト・コンピュータからエミュレータに接続するには、開発用コンピュータのコマンド行またはスクリプトから`adb`コマンドを実行して、ポート・フォワーディングを設定する必要があります。

ソケット接続を転送するには、次のコマンドを実行します。

`adb forward` `local` `remote`

この際、次の転送仕様を使用します。

- `tcp:``port`

- `localabstract:``unix domain socket name`

- `localreserved:``unix domain socket name`

- `localfilesystem:``unix domain socket name`

- `dev:``character device name`

- `jdwp:``process pid` (リモートのみ)

たとえば、任意のクライアントが次のように、ポート55000のエミュレータで実行されているサーバーへの接続をリクエストできます。

    adb -e forward tcp:8555 tcp:55000

この例では、ホスト・コンピュータから、クライアントは`localhost:8555`に接続し、そのソケットを介して通信を行います。

詳細は、Android開発者のWebサイト(`http://developer.android.com/tools/help/adb.html`)の「Android Debug Bridge」を参照してください。

##### 2.5.3.1.4 ネットワーク・プロキシの構成

開発用コンピュータが企業のファイアウォールで保護されている場合は、次のいずれかの技術を使用してプロキシを構成する必要がある場合があります。

1. このコマンドを実行して、エミュレータを起動し、エミュレータとブラウザとの接続を初期化します。

       emulator -avd myavd -http-proxy myproxy

2. エミュレータを起動してから、次のようにして設定ユーティリティを使用します。

   1. 「Wireless & Networks」を選択します。

   2. 「Mobile Networks」→「Access Point Names」を選択します。

   3. 適切なインターネット・オプションを選択します。

   4. 「Edit access point list」を使用して、プロキシ、ポート、ユーザー名およびパスワードを設定します。

##### 2.5.3.1.5 ネイティブ・スクロールの有効化

リスト・ビューMAF AMX UIコンポーネントの応答性を向上させるには(第6.3.15項「リスト・ビューおよびリスト・アイテム・コンポーネントの使用方法」を参照)、次のようにしてネイティブ・スクロールを有効にします。

1. `android.hardwareAccelerated`プロパティを`adf-config.xml`ファイルに追加し、このプロパティを`true`に設定します(例2-1を参照)。

   例2-1 ネイティブ・スクロールの有効化

       <adf-config>
          ...
          <adf:adf-properties-child
                              xmlns="http://xmlns.oracle.com/adf/config/properties">
             <adf-property name="android.hardwareAccelerated" value="true"/>
          </adf:adf-properties-child>
          ...
       </adf-config>

2. 「Android用MAFのデプロイメント・プロファイルのプロパティ」エディタで、「Androidオプション」ページ(第19.2.3.1項「アプリケーションの詳細オプションの設定」を参照)を使用して、次のように設定します。

   - 「最小SDK APIレベル」フィールドを11以上に設定します。

   - 「ターゲットSDK APIレベル」フィールドを9に設定します。

3. JDeveloperのメイン・メニューで「プリファレンス」を開き、「モバイル・アプリケーション・フレームワーク」→「Androidプラットフォーム」を選択し、「Androidプラットフォーム・ロケーション」フィールドが`android-11`フォルダ以上を指すようにします。

注意: iOSプラットフォームでは、デフォルトでネイティブ・スクロールは有効です。

#### 2.5.3.2 Androidエミュレータの高速化

Intel Hardware Accelerated Execution Manager (Intel HAXM)は、Intelドライバを利用してAndroidデバイス・エミュレータを高速化するように設計されています。

Intel HAXMは、Microsoft Windows、Mac OS XおよびLinux向けの個別のカーネル・ベース仮想マシン・オプション(KRM)が実行されているコンピュータで使用可能です。インストレーション・ガイドや各オペレーティング・システムのシステム要件の詳細を確認するには、`http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager`を参照してください。

開発用コンピュータが実行されているオペレーティング・システムに関係なく、次のものが必要です。

- バージョン17以上のAndroid SDKのインストール(第2.5.1項「Android SDKのインストール方法」を参照)。

- BIOSレベルでIntel VT-x、EM64TおよびExecute Disable (XD)ビット機能をサポートするIntelプロセッサ。

- 1GB以上の使用可能なRAM。

Intel HAXMをダウンロードするには、Android SDK Manager (「Speeding Up the Android Emulator on Intel Architecture」を参照)を使用するか、Intel社の次の場所を使用します。

- Microsoft Windows用ダウンロード

- Mac OS X用ダウンロード

- Linux用ダウンロード

Intel HAXMをインストールするには、`http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture`にある記事「Speeding Up the Android Emulator on Intel Architecture」で説明されている手順に従います。特に重要となるのは、AVDの構成です(第2.5.3.2.1項「Intel HAXMに応じたAVDの構成」を参照)。

開発用コンピュータでMicrosoft Windows 8.n以上またはMac OS X 10.9.n以上が実行されている場合は、Intel HAXMでエミュレータを使用する前に、Intel社が提供するホットフィックスを適用する必要があります。

注意: ホットフィックスを適用しないと、コンピュータがフリーズして作業内容が失われます。

ホットフィックスをダウンロードするには、次の場所を使用します。

- Microsoft Windows用ダウンロード

- Mac OS X用ダウンロード

詳細は、次を参照してください。

- インストレーション・ガイドおよびシステム要件 - Windows

- インストレーション・ガイドおよびシステム要件 - Mac OS X

- インストレーション・ガイドおよびシステム要件 - Linux

##### 2.5.3.2.1 Intel HAXMに応じたAVDの構成

Intel HAXMを有効にする場合、Android SDK Managerを使用して、Android APIレベルのIntelシステム・イメージをダウンロード(図2-8を参照)。「Speeding Up the Android Emulator on Intel Architecture」の説明に従って次のようにします。

- Android SDKをインストールした後、SDK Managerを開いて「Extras」セクションでIntel HAXMを見つけます。

- 「Intel x86 Emulator Accelerator (HAXM)」を選択し、「Install packages」をクリックします。

  パッケージをインストールするとステータスが「Installed」に変わりますが、これは正確ではなく、SDKによってIntel HAXM実行可能ファイルがコンピュータにコピーされただけであるため、手動でこの実行可能ファイルをインストールする必要があります。

  図2-8 Android SDK ManagerでのIntelシステム・イメージのダウンロード

- Intel HAXM実行可能ファイルをインストールするには、開発プラットフォームに応じて次のいずれかをハード・ドライブで検索します。

  - Windowsの場合、`IntelHaxm.exe`を検索します。

  - Mac OS Xの場合、`IntelHaxm.dmg`を検索します。

  デフォルト設定を使用した場合、Windowsでは、実行可能ファイルは`C:\Program Files\Android\android-sdk\extras\Intel\Hardware_Accelerated_Execution_Manager\IntelHaxm.exe`にあります。

Intel HAXMは、Android 2.3.3 (API 10)、4.0.3 (API 15)、4.1.2 (API 16)、4.2.2 (API 17)用に使用可能な、Intel Atomプロセッサのx86システム・イメージの1つとともに機能します。これらのシステム・イメージは、Android SDK Managerを使用して、ARMベースのイメージとまったく同じようにインストールできます。

図2-9 Intel Atomシステム・イメージのインストール

処理を完了するには、AVD Managerを使用して「CPU/ABI」として「Intel Atom (x86)」を選択することによって、エミュレーションがハードウェアで高速化された新規仮想デバイスを作成します(図2-10を参照)。

注意: このオプションは、Intel x86システム・イメージがインストールされている場合にのみリストに表示されます。

図2-10 高速化されたAVDの作成

## 2.6 環境設定のテスト

次のように、環境設定をテストできます。

1. JDeveloperで、`HelloWorld.jws`ファイルを選択してHelloWorldサンプル・アプリケーションを開きます(付録F「サンプルのモバイル・アプリケーション・フレームワーク・アプリケーション」を参照)。

2. メイン・メニューから「アプリケーション」→「デプロイ」を選択します。

   詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

3. ドロップダウン・メニューから、アプリケーションのデプロイ先となるプラットフォームに対応したデプロイメント・プロファイルを選択します。

4. 環境設定をテストする場合、アプリケーションの署名を必要としないiOSデバイス・シミュレータまたはAndroidデバイス・エミュレータでのテストが推奨されるため、「デプロイ」ダイアログを使用して、次のいずれかのデプロイメント・アクションを選択する必要があります。

   - iOSの場合、図2-11に示すように、「アプリケーションのシミュレータへのデプロイ」を選択します。

     図2-11 iOSに対するデプロイメント・アクションの選択

   - Androidの場合、図2-12に示すように、「アプリケーションのエミュレータへのデプロイ」を選択します。デプロイメントを開始する前に、エミュレータが稼働していることを確認してください。

     図2-12 Androidに対するデプロイメント・アクションの選択

5. 「デプロイ」ダイアログで「次へ」をクリックし、「サマリー」ページの内容を確認した後、「終了」をクリックします。

   詳細は、次のいずれかを参照してください。

   - 第19.4.1項「iOSシミュレータへのiOSアプリケーションのデプロイ方法」

   - 第19.3.1項「AndroidエミュレータへのAndroidアプリケーションのデプロイ方法」

デプロイメントの詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

デプロイメントに成功すると(数分かかる場合があります)、iOSデバイス・シミュレータまたはAndroidデバイス・エミュレータにHelloWorldアプリケーション・アイコンが表示され、アプリケーションを起動するためにはこれをアクティブ化する必要があります。