高速 - running an x86 based android virtual device avd is 10x faster




なぜAndroidエミュレータが遅いのですか? Androidエミュレータをどのように高速化できますか? (20)

Intel x86エミュレータアクセラレータを使用する

まず、Intel x86エミュレータアクセラレータ(HAXM)をインストールします。 これは、インテルまたはAndroid SDK Managerを使用して直接ダウンロードできます。 SDKマネージャでは、Extrasの下にあります。

私が使ったAndroid Studioのバージョン(0.8.9)では、Android SDK ManagerがHAXMをダウンロードしますが、実際にはインストーラは実行されません(これは後のリリースで修正される予定です)。 インストールを実行するには、C:¥Program Files(x86)¥Android¥android-studio¥sdk¥extras¥intel¥Hardware_Accelerated_Execution_Managerに行き、手動でintelhaxm.exeを起動しなければなりませんでした。

HAXMはIntelデバイスと連携して、Intel CPUを搭載した新しいエミュレータを作成しました。

Intel Atom x86を使用して新しいAVDを作成する

これはかなり改善されましたが、エミュレータはやや鈍いと感じました。 最後のステップは、Android仮想デバイスマネージャ(AVD)でホストGPUを使用することを選択することでした。

これらの変更の後、Androidエミュレータは5〜10秒で起動し、顕著な遅れなく実行されました。 これらの機能はハードウェアに依存し(CPU / GPU)、一部のシステムでは機能しない可能性があることに注意してください。

私はx86 Windows XP Professionalマシンに2.67 GHzのCeleronプロセッサーと1.21 GBのRAMを持っています。

私の理解では、 Androidエミュレータはこのようなマシンでかなり早く始めるはずですが、私にとってはそうではありません。 私は、IDE、SDK、JDKなどをセットアップする上でのすべての指示に従いましたが、エミュレータをすぐに起動することに成功しましたが、それはまれです。 可能であれば、どうすればこの問題を解決できますか?

ホーム画面を起動してロードしても、非常に遅いです。 私はバージョン3.5 (ガリレオ)と3.4 (ガニメデ)でEclipse IDEを試しました。


Android SDK Toolsのリビジョン17では、エミュレータはグラフィックアクセラレーションとCPUが提供する拡張機能を使用して効率を上げることができます。 前提条件と完全な構成とユーザーノートは次の場所にあります。

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

GPUアクセラレーションを有効にするには、コマンドラインからエミュレータを実行するか、AVD設定の追加のエミュレータコマンドラインオプションに "-gpu on"を追加します。

emulator -avd <avd_name> -gpu on

CPUマシンエクステンションを使用するには、ドライバをインストールする必要があります(既存のVirtualBoxまたはVMwareドライバと競合する可能性があるため注意が必要です)。 インストール後は、x86ベースのAVDを使用するたびに自動的に使用されます。


Android Studioのgenymotion.comを試してみてください。 猛烈な爆発! ちょうど1回のインストールが必要です。 もうAVDの痛みはありません。


Androidエミュレータは遅いです。 実行中に800MBのメモリが必要です。 Windowsの場合は、Microsoft Android Emulatorを使用できます。 これは素晴らしい、あなたのAndroidスタジオエミュレータ以上の機能を提供しています。 そして、最も重要なことは高速です(13MBのみを消費します)。 Visual Studio 2015テクニカルプレビューが付属しています。 私はそれを使用しており、それに満足しています。 VSパック全体をダウンロードしてインストールしましたが、VSエミュレータだけをインストールする方法を調べる必要があります。

Visual Studioエミュレータfor Android

編集: https://www.visualstudio.com/vs/msft-android-emulator/ ://www.visualstudio.com/vs/msft-android-emulator/を試してhttps://www.visualstudio.com/vs/msft-android-emulator/


Dalvik Debug Monitor Server(DDMS)が接続されていないと、エミュレータがはるかに高速に起動することに気付きました。 したがって、Virtual Device Manager "SDK Setup.exe"からエミュレータを起動してEclipseが起動しない場合、エミュレータはより速く動作します。

Eclipseからエミュレータを起動した場合:DDMSがあるので、エミュレータは非常に遅いことがありますが、時には高速です。


Eclipseの(古い)バージョンに含まれているエミュレータは非常に遅いです。

最近のエミュレータは、2010年に使用するよりも高速です。SDK / IDEを更新してください。

個人的には、私は本当の電話を使ってテストをしています。 それはより速く、テストはより現実的です。 しかし、さまざまなAndroidバージョンでアプリケーションをテストしたい場合や、いくつかの携帯電話を購入したくない場合は、時々エミュレータを使用する必要があります。


Android x86をお試しください。 Google Androidのエミュレータよりもはるかに高速です。 次の手順を実行します:

  1. VirtualBoxをインストールします。
  2. 必要なISOファイルをダウンロードします。
  3. Linux 2.6 /その他Linux、512 MB RAM、HD 2 GBの仮想マシンを作成します。 ネットワーク: NATに接続されたPCnet-Fast III。 ブリッジアダプタを使用することもできますが、ご使用の環境にDHCPサーバーが必要です。
  4. エミュレータにAndroid x86をインストールして実行します。
  5. Alt + F1 キーを押しnetcfgと入力し、IPアドレスを覚えて、 Alt + F7を押します。
  6. Windows XPシステムでcmdを実行し、ディレクトリをAndroidツールディレクトリに変更して、 adb connect <virtual_machine_IP>ます。
  7. Eclipseを起動し、ADTプラグインを開き、デバイスを見つけ、お楽しみください!


更新

Androidエミュレータのクイックブートオプションを有効にできるようになりました。 それはエミュレータの状態を保存し、次の起動時にすぐにエミュレータを起動します。

エミュレータの編集ボタンをクリックし、 詳細設定を表示をクリックします。 次に、以下のようなQuick Boot有効にします。

Android開発ツール(ADT)9.0.0 (またはそれ以降)には、AVD(エミュレータ)の状態を保存する機能があり、エミュレータを即座に起動することができます。 新しいAVDを作成中にこの機能を有効にする必要があります。または、AVDを編集して後で作成することもできます。

また、 Device RAM Size1024増やして、非常に高速なエミュレータを実現しました。

詳細については下記のスクリーンショットを参照してください。

スナップショット保存機能で新しいAVDを作成する。

スナップショットからエミュレータを起動します。

あなたのエミュレータをスピードアップするために参照することができますあなたのAndroidエミュレータスピードアップ!


重要な注意まず 、VTについてのインテルのリストを参照してご使用のCPUがインテルVTをサポートしていることを確認してください。

HAXM、低速Androidエミュレータのスピードアップ

HAXMの略 - 「Intel Hardware Accelerated Execution Manager」

現在のところ、インテルVT(インテル仮想化テクノロジー)のみをサポートしています。

AndroidエミュレータはQEMU基づいています。 ホストシステム上のQEMUとHAXMドライバ間のインタフェースは、ベンダーに依存しないように設計されています。

HAXM用のAndroid開発環境の設定手順

  1. Eclipseの更新:EclipseのインストールとADTプラグインが完全に最新であることを確認してください。

  2. あなたのAndroidツールを更新してください:Eclipseプラグインをアップデートした後は、Android SDKツールを更新することが重要です。 これを行うには、Android SDKマネージャを起動し、すべてのAndroid SDKコンポーネントを更新します。 HAXMを利用するには、少なくともリリースバージョン17以上である必要があります。

  • x86 Atomシステムイメージインテルハードウェアアクセラレーション実行マネージャードライバーをダウンロードしてください。 下の画像に従ってください:

  • "IntelHaxm.exe"を実行してHAXMドライバをインストールします。 次のいずれかの場所に設置されます:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Intel VTをオンにする必要があるというメッセージが表示されてインストーラが失敗した場合は、 BIOSこれを有効にする必要がありBIOSインテルVT(仮想化テクノロジー)を有効にするには、これを行う方法の説明を参照してください。

  • 新しい x86 AVDを作成する:以下のイメージに従ってください:

  • あるいは、新しいSDKについては、

これにさらに情報を追加する。

私は最近UbuntuのインストールをUbuntu 10.04 LTS(Lucid Lynx)にアップグレードしました。これはJavaバージョンを次のように更新しました:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

そして今、エミュレータ(起動に時間がかかりますが)は以前より速く実行されているようです。

JVMをアップグレードする価値があるかもしれません。


ウイルス対策を無効にしてください。 おそらくエミュレータを少し速くするでしょう。


エミュレータの問題は、 Google I / O 2011:Android開発ツールの話題(0:40:20から)で確認できます。

完全なAndroid環境がエミュレートされたハードウェア上で実行され、命令がエミュレートされたARMプロセッサ上で実行されるため、エミュレータはゆっくり実行されます。

主な冗長点はレンダリングです。これは専用のハードウェアでは実行されていないためですが、ソフトウェアレンダリングで実際に実行されています。 画面サイズを小さくすると、エミュレータのパフォーマンスが大幅に向上します。 より多くの/もっと速い記憶を得ることは助けにならないでしょう。

彼らは、当時、エミュレータが特定の命令をホストハードウェアにパイプするためのインタフェースを開発していると言いました。その結果、エミュレータのパフォーマンスをデスクトップハードウェアの生の力で活用することができます。


エミュレータの起動は非常に遅いです。 良いことは、エミュレータを一度起動するだけです。 エミュレータが既に実行されていて、アプリケーションを再実行すると、エミュレータは比較的迅速にアプリケーションを再インストールします。 もちろん、電話でどれくらい速く動作するかを知りたい場合は、実際の電話でテストすることをお勧めします。


エミュレータは遅いです。 実際には何もできませんが、エミュレータの代替品があります。

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. WindowsのAndroidエミュレータ

  6. 豆の瓶

  7. Andy

エミュレータを高速化するには、GPUをホストし、軽量のAndroidバージョン( Android 2.3 (Gingerbread))を使用できます。 Macでの開発はより良いでしょう。 なぜエミュレータを使用するのですか? 実際の電話を使用する方が理にかなっています。



しばらく開発した後、私のエミュレータは残酷に遅くなりました。私はユーザーデータを消去することを選択しましたが、はるかに優れていました。私はあなたが配備した各APKファイルを読み込むのに時間がかかると思っています。


エミュレータの起動時間を短縮するには、エミュレータを起動する前に「Disable Boot Animation」をチェックする必要があります。Androidのドキュメントを参照しください。

あなたがわからない場合は、アプリケーションを実行/デバッグするたびにエミュレータを閉じる必要はありません。既に開いているときに実行/デバッグをクリックすると、APKファイルがエミュレータにアップロードされ、すぐに起動します。エミュレータは最初に起動したときだけ辛抱強く長い時間がかかります。

:ここではAndroidのエミュレータスピードアップするためにいくつかのヒントがあり、最大400%のAndroidエミュレータをスピードアップする方法は


私のエミュレータ(Eclipseプラグイン)は、私のNvidiaグラフィックスカードのアンチエイリアス設定によって大幅に減速していることに気付きました。グラフィックスメニューから2倍のアンチエイリアシングを削除し、それをアプリケーション制御に変更すると、応答性が向上しました。それはまだ遅いが、これまでよりも優れている。


私はEclipse(3.6.1)を搭載したXubuntu 10.04 VirtualBox 3.2.12ゲストで実行されているIntel Core i7 920 2.67 GHz CPUで、断続的な低速エミュレータ(SDK v8.0)の読み込み時間を最大3分としました。私はVirtualBoxのゲストメモリを1024 MBから2048 MBに変更しました。その時点から、遅くなったことはもうありませんでした(負荷時間は33秒で一貫し、CPU負荷は20%で一貫していました)。Eclipseとエミュレータの両方がメモリ豚です。







qemu