ヘッダーをスキップ

Oracle® Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.0.1 E57593-01 |
| 目次

前 | 次 |

# 2 開発環境の設定

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

この章には次の項が含まれます:

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

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

- 第2.3項「Oracle Enterprise Pack for Eclipseの設定」

- 第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 Enterprise Pack for Eclipse (第2.3項「Oracle Enterprise Pack for Eclipseの設定」を参照)

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

- iOS SDK (第2.4.2項「iOS SDKのインストール方法」を参照)

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

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

- iOSデバイス。詳細は、第2.4.3項「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 Enterprise Pack for Eclipse (第2.3項「Oracle Enterprise Pack for Eclipseの設定」を参照)

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

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

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

### 2.2.3 以前のバージョンのMAFからの移行

以前のバージョンのMAFランタイムで当初は作成されたアプリケーションで作業する場合、アプリケーションをこのバージョンに維持しておくことも、1回の一方向の移行を実行してより新しいバージョンのランタイムにすることもできます。

注意: 新しいMAFランタイムへの移行は、1回の前方向への変更であり、取り消すことはできません。先に進める前にアプリケーション・ファイルのバックアップを作成してください。

「ヘルプ」→「インストールの詳細」を選択し、「インストール・ソフトウェア」タブを選択してMAFを探すと、システムで使用可能なMAFランタイムを知ることができます。これにより、使用可能なランタイム・バージョンが一覧表示されます。

アプリケーションを新しいMAFランタイムに移行するには、次の手順を実行します。

1. アプリケーションのアセンブリ・プロジェクトで右クリックし、「構成」→「MAFアプリケーションの移行」を選択します。これにより、「MAFアプリケーション移行」ウィザードが開きます。

   図2-1 「MAFアプリケーション移行」ウィザード

2. 「MAFアプリケーション移行」ウィザードでは、プロジェクト(アセンブリ、アプリケーションおよびビュー)用の既存のMAFランタイムが検出され、新しいバージョンに移行されるMAFランタイムが表示されます。プロジェクトを確認し、「次へ」をクリックします。これにより、ウィザードの「デプロイメント・ターゲットの構成」ページが表示されます。

   図2-2 「デプロイメント・ターゲットの構成」ページ

3. 「デプロイメント・ターゲットの構成」ページには、使用可能なデプロイメント・ターゲット(プラットフォーム・バージョン、SDKリファレンスおよびMAFランタイムの組合せ)およびステータスが一覧表示されます。

   - 「常時有効」: このデプロイメント・ターゲットは、OEPEのこのインスタンスがアクセス可能なすべてのワークスペースで有効になります。

   - 「このワークスペースでは無効」: このデプロイメント・ターゲットは、現在のワークスペースでは無効ですが、OEPEのこのインスタンスがアクセス可能な他のワークスペースでは使用可能です。

   - 「すべてのワークスペースで無効」: このデプロイメント・ターゲットは、OEPEのこのインスタンスがアクセス可能なすべてのワークスペースで使用できません。

   新しいランタイム・バージョンのMAFを備えた適切なデプロイメント・ターゲットが一覧表示されない場合は、「追加」をクリックします。これにより、「新しいターゲットのプラットフォームの選択」ダイアログが表示されます。

   図2-3 新しいターゲットのプラットフォームの選択

4. 「新しいターゲットのプラットフォームの選択」ダイアログには、新しいバージョンのMAFランタイムと互換性のある使用可能なデプロイメント・プラットフォームが一覧表示されます。目的のプラットフォームを選択し、「OK」をクリックします。

5. プラットフォームを追加すると、「デプロイメント・ターゲットの構成」ページに、「常時有効」として追加されたプラットフォームが表示されます。「終了」をクリックしてアプリケーションの移行を完了します。

各アプリケーションに適用されるMAFバージョンは、アプリケーションの最上位レベルまたはアセンブリ・プロジェクト`.oepe`ファイルに格納されます。`<oepe:mobileAssembly runtimeVersion>`の値を見ると、ランタイム・バージョンを確認できます。

プロジェクトのボタンを右クリックし、コンテキスト・メニューから「プロパティ」を選択しても、アプリケーション・プロジェクトおよびビュー・プロジェクトで確認できます。「Javaビルド・パス」を展開し、「ライブラリ」タブを選択します。一覧表示されるMAFライブラリは、ランタイム・バージョン番号を含んでいます。

## 2.3 Oracle Enterprise Pack for Eclipseの設定

Oracle Enterprise Pack for Eclipseの設定は、MAFアプリケーション開発の重要な課程です。

始める前に:

Oracle Enterprise Pack for Eclipseのシステム要件を参照して、ターゲット・プラットフォームに関して、第2.2項「MAFアプリケーション開発の前提条件」にリストされたソフトウェアと互換性のあるOracle Enterprise Pack for Eclipseのリリースを判断します。システム要件は、`http://www.oracle.com/technetwork/developer-tools/eclipse/system-requirements-101778.html`に記載されています。

Oracle Enterprise Pack for Eclipseの適切なリリースをダウンロードし、インストールします。インストール手順は、`http://docs.oracle.com/cd/E50457_03/12132/OEPUG/install.htm`に記載されています。

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

MAFアプリケーションの開発とデプロイを開始する前に、適切なプラットフォームのプリファレンスの構成が必要になる場合があります。

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

MAFでサポートされているターゲット・プラットフォームに対するアプリケーションのパッケージ化およびデプロイを正常に行うには、プラットフォームの名前や、プラットフォーム固有のツールやデータを格納するための開発用コンピュータ上のディレクトリなどの情報を、Oracle Enterprise Pack for Eclipseに提供する必要があります。

始める前に:

第2.3項「Oracle Enterprise Pack for Eclipseの設定」の説明に従って、Oracle Enterprise Pack for EclipseおよびMAFプラグインをダウンロードし、インストールします。

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

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

1. Oracle Enterprise Pack for Eclipseのメイン・メニューから「ウィンドウ」→「プリファレンス」を選択して、「プリファレンス」ダイアログを開きます。

2. 「プリファレンス」ダイアログで、ツリーから「Oracle」→「モバイル・アプリケーション・フレームワーク」→「Android」または「Oracle」→「モバイル・アプリケーション・フレームワーク」→「iOSプラットフォーム」フォルダを開いて、サポートされているプラットフォームのパスおよび構成パラメータを含むページを開きます。

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

   - Androidプラットフォームについては、コンピュータ上のAndroid SDKの場所、ターゲットAndroidプラットフォームのローカル・ディレクトリを指定し、ツリーの「Androidプラットフォーム」セクションからAndroidキーストアを選択して、署名資格証明に関する情報を提供します。

   - iOSプラットフォームについては、Xcodebuildユーティリティの場所を指定します(第19.2.7.1項「iOSシミュレータへのiOSアプリケーションのデプロイ方法」を参照)。

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

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

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

### 2.4.1 Xcodeのインストール方法

Xcodeは、`http://developer.apple.com/xcode/`からダウンロードできます。

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

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

### 2.4.2 iOS SDKのインストール方法

iOS SDKは、iOS Dev Center (`http://developer.apple.com/devcenter/ios/`)からダウンロードできます。

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

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

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

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

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

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

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

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

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

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

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

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

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

Androidプラットフォーム用の開発を行う場合、Oracle Enterprise Pack for Eclipseと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バージョンおよびハードウェア要件と適合していることを確認します。

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

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

2. デフォルトでは、Android SDKツール、Android SDKプラットフォーム・ツールおよび他のいくつかのパッケージがインストールされます。また、Google Cloud Messaging for Android Libraryもインストールする必要があります。このオプションを表示するには、ウィンドウの下部で「廃止」チェックボックスを選択する必要があります。図2-4を参照してください。

   図2-4 インストールするAndroid SDKパッケージ

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

   注意: プロンプトが表示されたときに、Android SDK Managerを起動しないでください。かわりに、`http://developer.android.com/sdk/installing/installing-adt.html`にあるEclipseプラグインのインストールに関する手順に従います。

### 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の作成ダイアログを使用してAVDを作成する(`http://developer.android.com/tools/devices/managing-avds.html`の「Managing AVDs with AVD Manager」を参照)ときは、すべての設定を確認して、エミュレートする対象と構成が一致していることを確認します。特に次のことを確認する必要があります。

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

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

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

- ハードウェア・フィールドのデフォルト設定(`http://developer.android.com/tools/devices/managing-avds.html#hardwareopts`にあるハードウェア・オプションの表を参照)が、通常の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.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. 「ワイヤレスとネットワーク」を選択します。

   2. 「モバイル・ネットワーク」→「アクセス・ポイント名」を選択します。

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

   4. 「アクセス・ポイントの編集」リストを使用して、プロキシ、ポート、ユーザー名およびパスワードを設定します。

#### 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プロセッサ

  注意: システムのBIOSを編集して、Intel VT-xのサポートの有効化が必要になる場合があります。これを実行するには、コンピュータを再起動しますが、通常どおりにはブートしないようにします。ブート・プロセスを中断させてから、BIOSを編集するメニューを選択します。BIOSの選択肢をスクロールしてVT-xのエントリを見つけ、「Enabled」を選択するように切り替えます。

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

Intel HAXMをダウンロードするには、Android SDK Managerを使用する(`http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture`の「Speeding Up the Android Emulator on Intel Architecture」の記事を参照)か、または次のIntelのサイトを使用します。

- Microsoft Windowsの場合: `http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement`

- Mac OS Xの場合: `http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement-macosx`

- Linuxの場合: `http://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-gingerbread-emulator`

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によって提供されているHotfixを適用する必要があります。

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

Hotfixをダウンロードするには、次のサイトを使用します。

- Microsoft Windowsの場合: `http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement-windows-hotfix`

- Mac OS Xの場合: `http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement-macos-hotfix`

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

- インストレーション・ガイドとシステム用件: Windows (`http://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows`)

- インストレーション・ガイドとシステム用件: Mac OS X (`http://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x`)

- インストレーション・ガイドとシステム用件: Linux (`http://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-gingerbread-emulator`)

##### 2.5.3.2.1 Intel HAXM用のAVDの構成

Intel HAXMを有効にする場合、Android SDK Managerを使用して、Android APIレベルのIntelシステム・イメージをダウンロード(図2-5を参照)。`http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture`の「Speeding Up the Android Emulator on Intel Architecture」の記事に示されるとおり、次の手順に従います。

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

- Intel x86 Emulator Accelerator (HAXM)を選択し、パッケージのインストールを選択します。

  パッケージをインストールすると、ステータスが「インストール済」に変わりますが、これは正確ではありません。SDKは、コンピュータ上でIntel HAXM実行可能ファイルをコピーするだけであり、ユーザーが実行可能ファイルを手動でインストールする必要があります。

  図2-5 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は、いずれかのIntel Atomプロセッサx86システム・イメージと組み合せた場合にのみ機能し、これらはAndroid 2.3.3 (API 10)、4.0.3 (API 15)、4.1.2 (API 16)、4.2.2 (API 17)で使用可能です。これらのシステム・イメージは、Android SDK Managerを使用してARMベースのイメージと同様にインストールできます。

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

プロセスを完了するには、AVD Managerを使用し、「CPU/ABI」にIntel Atom (x86)を選択して、ハードウェア高速化エミュレーションを備えた新しい仮想デバイスを作成します(図2-7を参照)。

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

図2-7 高速化AVDの作成

## 2.6 環境設定のテスト

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

1. Oracle Enterprise Pack for Eclipseで「新」→「MAFサンプル」を選択して、HelloWorldサンプル・アプリケーションを開き、Hello Worldの例をクリックして選択して、「終了」をクリックします。

2. メイン・メニューから、「実行」→「デバッグ構成」を選択します。

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

3. デバッグ構成ダイアログの左側にある構成パネルから「MAFアプリケーション」を選択し、をクリックして、新しい構成を作成します。第2.3.1.1項「ターゲット・プラットフォームに応じた環境の構成」の指示に従って環境を適切に設定した場合、ダイアログには正しいターゲットが表示されます(図2-8を参照)。

   場合によっては、構成に「デバイス/エミュレータ」がリストされず、「リフレッシュ」をクリックしても表示されません。その場合は強制終了して、adbデーモンを再起動する必要があります。

   プロセスを強制終了するには、次の手順を実行します。

   - Windows: プロセス マネージャを使用します

   - Macターミナル: `kill -9` `procID`コマンドを使用します。

   ターミナルで次のコマンドを実行して、adbデーモンを再起動します。

       adb devices

   adbのフリーズの前に成功したデプロイメントは引き続きデプロイされます。アプリケーションをデバッグするには、アプリケーションを再デプロイします。

   図2-8 デバッグ構成ダイアログ

4. 「デバッグ」をクリックして、アプリケーションをターゲット・プラットフォームにデプロイします。デプロイが完了すると、「ログ・ウィンドウ」にビルド成功メッセージが表示されます。

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

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

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

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

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