「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[Android開発]]
--[[スマホのエミュレータ]]

*目次 [#h59a3561]
#contents

*概要 [#g90bc7e9]
-エミュレータでデバッグできる。
-Android Studio をインストールすればエミュレータがついてくる。
-Android Studio は Windows、Mac、Linuxで動作する。

**種類 [#kbd56851]

***Android Virtual Device (AVD) [#s4012251]
-Googleの提供するAndroidエミュレータ

-Android Studio、Visual Studioから利用できる。~
([[どうも、この辺と同じ仕組みらしい>Bluestacks#f717484a]])

-シミュレートする端末の外観、機能、システムイメージを定義する。

-参考
--作成する場合、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

***Visual Studio Emulator for Android [#h8757303]
-Microsoftの提供するAndroidエミュレータ
-Hyper-V上で動作し、Visual Studioから利用する。

-どうなんでしょう。

--Visual Studio Emulator for Android も捨てたもんじゃない - Qiita~
https://qiita.com/NakamuraYoichi/items/9a8fce49e725537dbed6

--個人的に、ダメだと思う点

---Hyper-V前提なので、~
VirtualBoxやHAXMと共存不可能。

---[[下記のインターネット接続>#jb04f094]]に課題がある。

***[[Bluestacks]]とGenymotion [#def8e071]
-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/

***Ripple Emulator [#ob3dbed2]
-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との通信 [#m9697bc0]
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


***Android Studio環境 [#p46a2112]
10.0.2.2 が使われる模様(AVD起動中に以下のShellで設定されているもよう)。
 AVD_LOCAL_IP="10.0.2.2"

***Visual Studio環境 [#f7616ac8]
-基本的に169.254.80.80 が使用される模様。~
-AVDから構成したエミュレータを使用した場合は、10.0.2.2が使用される模様。

***localhostの書き換え [#n8165dd8]
-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

***参考 [#q3617bc1]
-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

**インターネット接続 [#z5e491e5]
***Android Virtual Device (AVD) [#h4d579e8]
-既定で接続された(されない時もあった)。
-その際、ホスト側で名前解決できている範囲は、~
エミュレータ側でも名前解決できるもよう。
-接続されない時は、優先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/

***Visual Studio Emulator for Android [#jb04f094]
Hyper-Vを使用したVS EmulatorでWiFi(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/

-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

**プロキシ設定 [#t3abdc2a]
***エミュレータ内の設定 [#u1f6de17]
-ADT付属のAndroidエミュレータにプロキシ設定をする | | Loverfriend~
http://loverfriend.org/develop/20141224/

***エミュレーター外の設定 [#q8932236]
-プロキシ認証に対応していないアプリケーションがある場合は、~
Windows側にHttpProxyAuthなどのツールを使用して認証を通す。

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

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

***アプリケーション・コンポーネント毎の設定 [#pf6ecbe2]
-Chromeなどはプロキシさえ設定すれば、プロキシ認証のダイアログが表示される。
-GoogleMapはプロキシ認証は通ららないもよう。ローカルプロキシツールでクリア。
-[[WebViewなどでプロキシ認証を通す方法>WebView#cb35e1a3]]。

**Hyper-Vを一時的に無効化する。 [#pfe59a21]
[[Docker for Windows>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20for%20Windows]]でHyper-Vを使ってしまう。

-他の仮想環境を利用するためにHyper-Vを一時的に無効にする:Tech TIPS - @IT~
http://www.atmarkit.co.jp/ait/articles/1511/13/news032.html


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS