Skip to content

DNET_AndroidEmulator

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Androidのエミュレータ

概要

  • エミュレータでデバッグできる。

  • IDEをインストールすれば
    エミュレータがついてくるケースが多い。

詳細

種類

Android Virtual Device (AVD)

Visual Studio Emulator for Android

BluestacksとGenymotion

Ripple Emulator

  • Google Chrome上でCordovaの機能をエミュレーションする。

  • 各モバイルの画面サイズや,GPS,コンパス,モーションセンサを再現

  • 対応していないプラグインも多々ある。

  • Cordova特有のdevicereadyイベントをサポート

  • 参考

    • 第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発
      HTML5とPhoneGapで作る,iPhone/Androidアプリ開発TIPS|gihyo.jp … 技術評論社
      http://gihyo.jp/dev/serial/01/phonegap_tips/0002

ホストOSとの通信

IDEやエミュレータなど環境によって様々

  • 10.0.2.2や、169.254.80.80などが利用される。
    (詳細不明だが、port指定ができないようなのでlocal loopbackでないもよう)

  • 上記のアドレスは、localhost(127.0.0.1)ではないので、
    ASP.NETのホスト・プロセスの切り替え or 設定変更が必要になる。

    • IIS Express ---> IISホストへ変更するか、
    • 設定で、IIS Expressを外部アクセス可能にしておく。

Android Studio環境

10.0.2.2 が使われる模様(AVD起動中に以下のShellで設定されているもよう)。

AVD_LOCAL_IP="10.0.2.2"

Visual Studio環境

  • Visual Studio(統合開発環境 (IDE)の該当節を参照)

  • 基本的に169.254.80.80 が使用される模様。

  • AVDから構成したエミュレータを使用した場合は、10.0.2.2が使用される模様。

localhostの書き換え

  • Androidにもhostsファイルがあり、それを書き換えれば、
    localhostを、10.0.2.2や、169.254.80.80に変更可能。

  • 書き換えツールは、Android\android-sdk\toolsにある。
    SDK ManagerからSDKをインストール、インストール・パスを確認し使用可能。

  • Androidのhostsファイル書き換え方法については、以下のサイトが参考になるが、できてない。

参考(ホストOSとの通信)

インターネット接続

Android Virtual Device (AVD)(インターネット接続)

Visual Studio Emulator for Android(インターネット接続)

Hyper-Vを使用したVS Emulatorで、
Wi-Fi(iphoneデザリング)を使う場合に上手く行っていない。

プロキシ設定

エミュレータ内の設定

エミュレーター外の設定

  • プロキシ認証に対応していないアプリケーションがある場合は、
    Windows側にHttpProxyAuthなどのツールを使用して認証を通す。

  • そもそもスマホはプロキシ環境下で使用しないので、
    HttpProxyAuthなどのローカル・プロキシ・ツールを使用したほうが良い。

  • HttpProxyAuthなどのローカル・プロキシ・ツールを使用する場合、
    エミュレータのAPN ( Access Point Name ) 設定に、
    ローカル・ループバック・アドレス(127.0.0.1 or localhost)を指定できないので、
    ホストPCのNICのアドレスをプロキシ(のアドレス)として指定するようにする。

アプリケーション・コンポーネント毎の設定

  • Chromeなどはプロキシさえ設定すれば、プロキシ認証のダイアログが表示される。
  • GoogleMapはプロキシ認証は通らないもよう。ローカルプロキシツールでクリア。
  • WebViewなどでプロキシ認証を通す方法(WebViewの該当節を参照)。

AVDエミュレータ作成

ビルド

Android Studioを開き、任意で作成したプロジェクトのビルドを行う。
(一度ビルドを成功させておかないと、[AVD Manager]が表示されないため )

AVDを作成する。

ビルド成功後、

[Tools]-[AVD Manager]でCreate Virtual Deviceをクリックし、AVDを作成する。
(AVD Managerが表示されない場合は、Android Studioを再起動する。)

ダウンロード

AVD作成プロセスの中で、APIレベルに対応するAVDをダウンロードする。

VT-X機能の有効化

必要に応じて、PCのVT-X機能を有効にする。BIOS設定から行う。

HAXMのインストール

必要に応じて、以下のいずれかの方法でHAXMをインストールする。

  • Android Studioの[AVD Manager]で作成したAVDを起動しようとすると、HAXMのインストールを求められるので、指示に従いインストールする。

  • 「C:\Users[ユーザ]\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager」に格納されている「intelhaxm-android.exe」を実行し、インストールする。
    (※) 以下のエラーが出る場合は、https://stackoverflow.com/questions/47631771/emulator-process-finished-with-exit-code-1073741819-0xc0000005 の情報をもとに、AVDを修正する。

    ---------------------------------------------------------------------------------------
    Emulator: Process finished with exit code -1073741819 (0xC0000005)
    ---------------------------------------------------------------------------------------
    

AVDの起動

エミュレートする前にAndroid Studioから作成したAVDを起動しておく。

参考(AVDエミュレータ作成)

Hyper-Vを一時的に無効化する。

一部のエミュレータは、Hyper-Vとの同居が不可能

Docker for WindowsWSL2でHyper-Vを使ってしまう。

Windows ハイパーバイザー プラットフォーム

前述のエミュレータを、Hyper-Vと同時に動作させることができる。

参考(Hyper-V)

参考

未記載(元 Wiki も見出しのみ)。

補足

  • Visual Studio Emulator for Android は提供が終了しており、 現在は Android Studio 同梱の Android Emulator が標準である。
  • Intel HAXM は 2023 年に非推奨となり、現在は Android Emulator hypervisor driver(AEHD)や Windows Hypervisor Platform(WHPX)が用いられる。

移行メモ

  • 元 Wiki では見出しそのものが他ページ・同ページ内へのリンクになっていた箇所 (「BluestacksとGenymotion」「Android Studio環境」「Visual Studio環境」 「Hyper-Vを一時的に無効化する。」)は、GitHub Wiki では 見出しからアンカが生成されるため、見出しをプレーン・テキストとし、 リンクは直下の本文に置いた。
  • 同名の見出し(「Android Virtual Device (AVD)」 「Visual Studio Emulator for Android」「参考」)が複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。
  • マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの Hyper-V / Docker for Windows / WSL → WSL2 に張り替えた。
  • リンク先が未移行のページは、移行先のファイル名を `DNET_○○.md` の形で示し TODO.md に登録した。

Tags: 移行, Android, エミュレータ, AVD, Genymotion, Bluestacks, HAXM, Hyper-V, プロキシ, Android Studio

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally