-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_AndroidEmulator
-
エミュレータでデバッグできる。
-
IDEをインストールすれば
エミュレータがついてくるケースが多い。- Android Studio
- Visual Studio(統合開発環境 (IDE)の該当節を参照)
-
Googleの提供するAndroidエミュレータ
-
Android Studio、Visual Studio(統合開発環境 (IDE)の該当節を参照)から利用できる。
(どうも、Bluestacksと同じ仕組みらしい(ADB))
-
Microsoftの提供するAndroidエミュレータ
-
Hyper-V上で動作し、Visual Studio(統合開発環境 (IDE)の該当節を参照)から利用する。
-
...しかし、どうなんでしょう。
-
Visual Studio Emulator for Android も捨てたもんじゃない - Qiita
https://qiita.com/NakamuraYoichi/items/9a8fce49e725537dbed6 -
個人的に、ダメだと思う点
-
Hyper-V前提なので、VirtualBoxやHAXMと共存不可能。
-
下記のインターネット接続に課題がある。
-
-
-
Genymotion
VirtualBoxで動作。 -
Bluestacks
QEMUというプロセッサエミュレータで動作。 -
参考
-
BluestacksとGenymotionの比較 - 気まぐれSE日記
http://d.hatena.ne.jp/tak_yah/20131119 -
Windows向けAndroidエミュレータまとめ
http://windows.blogo.jp/emulator/android -
GenymotionとBlueStacksは同じマシンに同居できない - いろいろやってみるにっき
http://shigeo-t.hatenablog.com/entry/2014/07/14/101036 -
Top 9 Best Android Emulators For Windows 10 PC - Andy Tips
http://andytips.org/top-android-emulators-for-windows/ -
Best 10 BlueStacks Alternative To Run Android Apps On PC - Easy Tech Trick
https://www.easytechtrick.com/best-bluestacks-alternative/
-
-
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
- 第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発
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を外部アクセス可能にしておく。
- Open 棟梁の使い方(実践編)第2回 - OSSコンソーシアム
https://www.osscons.jp/jo8zq1hj9-537/#_537
- Open 棟梁の使い方(実践編)第2回 - OSSコンソーシアム
10.0.2.2 が使われる模様(AVD起動中に以下のShellで設定されているもよう)。
AVD_LOCAL_IP="10.0.2.2"
-
Visual Studio(統合開発環境 (IDE)の該当節を参照)
-
基本的に169.254.80.80 が使用される模様。
-
AVDから構成したエミュレータを使用した場合は、10.0.2.2が使用される模様。
-
Androidにもhostsファイルがあり、それを書き換えれば、
localhostを、10.0.2.2や、169.254.80.80に変更可能。 -
書き換えツールは、Android\android-sdk\toolsにある。
SDK ManagerからSDKをインストール、インストール・パスを確認し使用可能。 -
Androidのhostsファイル書き換え方法については、以下のサイトが参考になるが、できてない。
- 俺達のAndroid Emulatorでローカルに立てたサーバにアクセスする方法 - Qiita
https://qiita.com/norisu0313/items/4f24ef4eea5fdac3ad5f - Android Emulatorのhostsを書き換える方法 - Qiita
https://qiita.com/kgmyshin/items/9964b9cc2193d1cae985
- 俺達のAndroid Emulatorでローカルに立てたサーバにアクセスする方法 - Qiita
- androidエミュレータからlocalhostのASP.NETサイトに接続してデバッグ - Jiro Laboratory
http://jirolabo.hatenablog.com/entry/2014/11/02/002133 - AndroidアプリからASP.NET Web APIへの接続方法 その1 - emu雑記
http://emu717171.hatenablog.com/entry/2013/11/25/001859 - Android Studio AVD (エミュレータ) からデスクトップの
ローカルホストに接続させる設定 - 長生村本郷Engineers'Blog
http://kenzo0107.hatenablog.com/entry/2016/03/09/222948
-
既定で接続された(されない時もあった)。
-
その際、ホスト側で名前解決できている範囲は、
エミュレータ側でも名前解決できるもよう。 -
接続されない時は、優先DNSに「8.8.8.8」を設定したら解決。
-
参考
- Set Up Android Emulator Networking | Android Studio
https://developer.android.com/studio/run/emulator-networking.html - Android Studio エミュレータのネットワーク設定
https://android.benigumo.com/20170926/android-studio-emulator-config/ - 「8.8.8.8」とか「129.250.35.250」とか、
おすすめDNSサーバIPを教えてくれる無料なアプリ「namebench」
https://android.benigumo.com/20110918/%E3%80%8C8-8-8-8%E3%80%8D%E3%81%A8%E3%81%8B%E3%80%8C129-250-35-250%E3%80%8D%E3%81%A8%E3%81%8B%E3%80%81%E3%81%8A%E3%81%99%E3%81%99%E3%82%81dns%E3%82%B5%E3%83%BC%E3%83%90ip%E3%82%92%E6%95%99%E3%81%88/
- Set Up Android Emulator Networking | Android Studio
Hyper-Vを使用したVS Emulatorで、
Wi-Fi(iphoneデザリング)を使う場合に上手く行っていない。
-
Hyper-V で無線 LAN のみの PC でもネットワーク接続できるようにする方法: ある SE のつぶやき
http://fnya.cocolog-nifty.com/blog/2013/08/hyper-v-lan-pc-.html -
Hyper-V and Wireless networking | Ben Armstrong’s Virtualization Blog
https://blogs.msdn.microsoft.com/virtual_pc_guy/2015/02/02/hyper-v-and-wireless-networking/ -
Hyper-V emulator(Android and WP) using the internet does not work — Xamarin Forums
https://forums.xamarin.com/discussion/71837/hyper-v-emulator-android-and-wp-using-the-internet-does-not-work- Why can’t the Windows Phone Emulator go online? – Windows Store Developer Solutions
https://blogs.msdn.microsoft.com/wsdevsol/2013/10/01/why-cant-the-windows-phone-emulator-go-online/
- Why can’t the Windows Phone Emulator go online? – Windows Store Developer Solutions
-
Android emulator doesn't have an external internet connection - Developer Community
https://developercommunity.visualstudio.com/content/problem/32538/android-emulator-doesnt-have-an-external-internet.html
- ADT付属のAndroidエミュレータにプロキシ設定をする | | Loverfriend
http://loverfriend.org/develop/20141224/
-
プロキシ認証に対応していないアプリケーションがある場合は、
Windows側にHttpProxyAuthなどのツールを使用して認証を通す。 -
そもそもスマホはプロキシ環境下で使用しないので、
HttpProxyAuthなどのローカル・プロキシ・ツールを使用したほうが良い。 -
HttpProxyAuthなどのローカル・プロキシ・ツールを使用する場合、
エミュレータのAPN ( Access Point Name ) 設定に、
ローカル・ループバック・アドレス(127.0.0.1 or localhost)を指定できないので、
ホストPCのNICのアドレスをプロキシ(のアドレス)として指定するようにする。
- Chromeなどはプロキシさえ設定すれば、プロキシ認証のダイアログが表示される。
- GoogleMapはプロキシ認証は通らないもよう。ローカルプロキシツールでクリア。
- WebViewなどでプロキシ認証を通す方法(WebViewの該当節を参照)。
Android Studioを開き、任意で作成したプロジェクトのビルドを行う。
(一度ビルドを成功させておかないと、[AVD Manager]が表示されないため )
ビルド成功後、
[Tools]-[AVD Manager]でCreate Virtual Deviceをクリックし、AVDを作成する。
(AVD Managerが表示されない場合は、Android Studioを再起動する。)
AVD作成プロセスの中で、APIレベルに対応するAVDをダウンロードする。
必要に応じて、PCのVT-X機能を有効にする。BIOS設定から行う。
必要に応じて、以下のいずれかの方法で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) ---------------------------------------------------------------------------------------
エミュレートする前にAndroid Studioから作成したAVDを起動しておく。
-
作成する場合、AVD Manager直ではなく、
Android Studioから作成する方法がサポート効いててやり易い。 -
[Android] エミュレータ AVD Manager の設定 | Androidアプリ開発
https://akira-watson.com/android/avd-manager.html -
HAXMで高速化する。
- Android SDK の高速エミュレータ、使ってますか? | OPTPiX Labs Blog
http://www.webtech.co.jp/blog/os/android/5966/ - Win10 で Xamarin のサンプル動かしたいのにエミュが動かなかった - Qiita
https://qiita.com/90_jill/items/267b131ce6f41bfc7bf0
- Android SDK の高速エミュレータ、使ってますか? | OPTPiX Labs Blog
Docker for WindowsやWSL2でHyper-Vを使ってしまう。
前述のエミュレータを、Hyper-Vと同時に動作させることができる。
- 他の仮想環境を利用するために
Hyper-Vを一時的に無効にする:Tech TIPS - @IT
http://www.atmarkit.co.jp/ait/articles/1511/13/news032.html - WSL2とHyper-Vの関係 - Qiita
https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce
未記載(元 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
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。