Android エミュレータの作成
Android エミュレータとは、具体的な Android デバイスを表す Android 仮想デバイス(AVD)です。Android エミュレータをターゲット プラットフォームとして使用すると、PC 上で Android アプリケーションを実行しテストすることができます。
Android エミュレータは、RAD Studio のインストール中にデフォルトでインストールされます。製品のインストール時にこのエミュレータをインストールすることをお勧めします。このエミュレータは Android アプリケーションのデフォルト ターゲットとして使われるため、Android デバイスが接続されていない開発用システム上で Android アプリケーションを作成し実行することができます。
インストールされる Android エミュレータは rsxe5_android という名前で、WVGA800 スキンと Android 4.2.2 が使われています。
Android エミュレータの最小要件
Android エミュレータ(Google から Android SDK の一部として提供されているもの)を作成するには、少なくとも以下を使用することをお勧めします。
- Intel Core i5 CPU
- メモリ 4 GB
- 「Android エミュレータでの Android アプリケーションの実行」で説明しているように、エミュレータ イメージのハードウェア リストに GPU emulation が含まれている必要があります。
Android エミュレータを仮想マシン(VM)上で使用することはお勧めしません。VM では通常、エミュレータ向けに GPU がサポートされていないためです。ただし、Delphi を Mac OS X コンピュータの VM 上で実行していて、エミュレータを VM 上で動作させていない場合には、Mac 上でリモート エミュレータを使用するという選択肢もあります。詳細は、http://delphi.org/2013/09/debugging-against-a-remote-android-emulator/ を参照してください。
Delphi XE5 では、Android バージョン 4.x 用のエミュレータをサポートしています。
バージョン 2.x(Gingerbread)用のエミュレータはサポートしていません。Android バージョン 2.x 用のエミュレータでターゲットとしているのは、Delphi でサポートしていない ARMv6 CPU だからです。
Android エミュレータには別個の GPU が必要
Android エミュレータはハードウェアに大きく左右されます。ここで言うハードウェアとは、エミュレーションの対象となるハードウェアのほか、エミュレータの実行環境となるハードウェアも含まれます。
このため、適切なグラフィックス カードがお使いの開発システムに搭載されているかどうかを確かめることをお勧めします。
- [コントロール パネル|デスクトップのカスタマイズ|ディスプレイ|画面の解像度]を開きます。
- [詳細設定]をクリックします。
- お使いのグラフィックス カードのプロパティが表示されるので、それらを確認します。
- 適切な GPU がなければ、時間をかけて Android エミュレータを作成し実行してみるだけの価値はおそらくありません。適切な GPU を搭載した別の開発システムを見つけましょう。
- Intel GPU は推奨しません。
- Android エミュレータを実行しようとしたときに OpenGL ES に関するエラー メッセージが出力される場合は、お使いの GPU がおそらく適していないということです。
Android エミュレータの作成は任意
独自に Android エミュレータを作成する場合には、サポートしたい Android デバイスごとにエミュレータを作成することを検討してください。Android エミュレータは実行速度が非常に遅いことが多く、使いものにならないと考える人もいることに留意してください。
RAD Studio では以下のターゲットをサポートしています。
- バージョン 4.0 以降の Android エミュレータ
- ARM バージョン 7 以降の Android デバイス
Android エミュレータを仮想マシン(VM)上で実行することはできません。エミュレータが VM 上で起動したとしても、そのエミュレータで実際にアプリケーションは動作しません。
- メモ: Android エミュレータのパフォーマンスが非常に悪いという問題は有名です。
Android システム画像をインストールする(必須)
Android エミュレータを作成する前に、エミュレータで使用できる Android システム画像をインストールする必要があります。
- メモ:RAD Studio のインストール時に Android SDK および NDK をインストールした場合には、有効な Android システム画像(Android 4.2.2 API 17 など)が[Android SDK Manager]に[Installed]として表示されているはずです。その場合、別の Android システム画像をインストールする必要はありません。
手順は以下のとおりです。
- [Android SDK Manager]を起動します([スタート|すべてのプログラム|Embarcadero RAD Studio <バージョン>|Android ツール]を選択)。
- パッケージ ツリーで、リスト内の最初の Android ノードに含まれる ARM EABI v7a System Image のチェックをオンにします。
- Android ノードとは、たとえば Android 4.2.2 (API 17) や Android 4.3 (API 18) などです。
- [Install 1 package...]をクリックします (自動的に選択されているチェック ボックスがあればオフにします)。
- [Choose Packages to Install]ページで[Accept License]をクリックし、それから[Install]をクリックしてシステム画像をインストールします。
[Android 仮想デバイス・マネージャー]を使って Android エミュレータを作成する
システム上で Android エミュレータを作成する手順は以下のとおりです。
- [Android SDK Manager]を起動します([スタート|すべてのプログラム|Embarcadero RAD Studio <バージョン>|Android SDK|Android 仮想デバイス マネージャ]を選択)。
-
- [Android 仮想デバイス・マネージャー]で[新規...]ボタンをクリックして仮想デバイスを新規作成します。
-
- [新規 Android 仮想デバイスの作成 (AVD)]ダイアログ ボックスで、エミュレートする対象の Android デバイスを選択し、その Android デバイスについての詳細情報を入力します。FireMonkey モバイル アプリケーションを実行するには、Android エミュレータが次の要件を満たしている必要があります。
- [ターゲット]で、API レベルが 17 以上の Android SDK を選択します。ドロップダウン リストには、インストール済みの Android SDK のバージョンが含まれています。
- [エミュレーション・オプション]の[ホスト GPU を使用する]をオンにします。
- [装置]に、エミュレートする対象の Android デバイスを選択します。
- ヒント: Nexus S などの古い Android デバイスのエミュレートは、Nexus 10 などの新しく、より大きなデバイスのエミュレートよりも速く動作する可能性があります。
- [OK]を 2 回クリックすると、新しい Android エミュレータが作成されます。
- これで、作成したエミュレータが[Android 仮想デバイス・マネージャー]に表示されます。
RAD Studio では、この Android エミュレータは、[プロジェクト マネージャ]の[Android]ターゲット プラットフォーム ノードの[ターゲット]ノード内に表示されます。「[ターゲット]ノードの使い方」を参照してください。
- メモ: 参考までに、RAD Studio インストーラでインストールされる Android 開発ツールのデフォルトのインストール場所は以下のとおりです。
- [Android SDK Manager]を直接起動する必要があるなら、以下の場所から起動してください。
-
C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522
- SDK Manager.exe が起動しなければ、以下の場所にある Android.bat を使用してください。
-
C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk
コマンド ラインを使って Android エミュレータを作成する
次のようなコマンドを入力して、コマンド ウィンドウで Android エミュレータを作成することができます。
echo no | android -s create avd -n my_android -t 1
スキンを使用する場合、次のオプションを追加します。
--skin WXGA800-7in
詳細は、Android のドキュメントを参照してください。
Android エミュレータを起動する
エミュレータが現在のターゲット プラットフォームになっていれば、エミュレータ上で Android アプリケーションを実行する前にエミュレータを起動しておく必要はありません。ただし、RAD Studio の起動前などに、別途 Android エミュレータを起動することをお勧めします。よく知られているようにエミュレータの起動や実行には時間がかかるため、事前にエミュレータを起動しておけば、アプリケーションで素早くエミュレータにアクセスできます。
Android エミュレータは、[Android 仮想デバイス・マネージャー]([Android SDK Manager]から起動可能)を使って起動することをお勧めします。
RAD Studio にインストールされたデフォルト エミュレータなどの Android エミュレータを起動するには:
- [Android 仮想デバイス・マネージャー]を起動します([スタート|すべてのプログラム|Embarcadero RAD Studio <バージョン>|Android SDK|Android 仮想デバイス マネージャ]を選択)。
- エミュレータを選択し、[開始...]をクリックします。
-
- それから、[起動オプション]ダイアログ ボックスで[起動]をクリックします。
- これでエミュレータが起動します(これには 5 ~ 10 分かかる可能性があります)。
-
- [プロジェクト マネージャ]の[Android]ターゲット プラットフォームの[ターゲット]ノード内に、エミュレータが割り当てられたポート番号付き((5554) など)で表示されます。
-
-
- ヒント: 実行中の Android エミュレータが[プロジェクト マネージャ]に実行中として(上のスクリーンショットと同じアイコンで)表示されない場合には、「[ターゲット]ノードの使い方」を参照してください。
次のステップでは、Android アプリケーションをエミュレータ上で実行します。[プロジェクト マネージャ]で、エミュレータ名が太字になっていて、ポート番号がかっこ内に表示されている((5554) など)ことを確認してください。これはエミュレータが実行中であり、ターゲット プラットフォームとして現在選択されていることを示します。
詳細は、http://developer.android.com/tools/devices/managing-avds.html を参照してください。