「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[スマホのエミュレータ]] --[[Androidのデプロイ]] *目次 [#h59a3561] #contents *概要 [#g90bc7e9] -エミュレータでデバッグできる。 -[[IDE>統合開発環境 (IDE)]]をインストールすればエミュレータがついてくるケースが多い。 -[[IDE>統合開発環境 (IDE)]]をインストールすれば~ エミュレータがついてくるケースが多い。 --[[Android Studio]] --[[Visual Studio>統合開発環境 (IDE)#j9da19e0]] *詳細 [#ud23932e] **種類 [#kbd56851] ***Android Virtual Device (AVD) [#s4012251] -Googleの提供するAndroidエミュレータ -[[Android Studio]]、[[Visual Studio>統合開発環境 (IDE)#j9da19e0]]から利用できる。~ ([[どうも、この辺と同じ仕組みらしい>Bluestacks#f717484a]](ADB)) -[[シミュレートする端末の外観、機能、システムイメージを定義>#s9f7ba94]]する。 ***Visual Studio Emulator for Android [#h8757303] -Microsoftの提供するAndroidエミュレータ -[[Hyper-V>#pfe59a21]]上で動作し、[[Visual Studio>統合開発環境 (IDE)#j9da19e0]]から利用する。 -...しかし、どうなんでしょう。 --Visual Studio Emulator for Android も捨てたもんじゃない - Qiita~ https://qiita.com/NakamuraYoichi/items/9a8fce49e725537dbed6 --個人的に、ダメだと思う点 ---[[Hyper-V>#pfe59a21]]前提なので、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>統合開発環境 (IDE)#j9da19e0]]環境 [#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>#pfe59a21]]を使用した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/ -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]]。 **AVDエミュレータ作成 [#s9f7ba94] ***ビルド [#n17f382c] [[Android Studio]]を開き、任意で作成したプロジェクトのビルドを行う。~ (一度ビルドを成功させておかないと、[AVD Manager]が表示されないため ) ***AVDを作成する。 [#lddc195f] ビルド成功後、 [Tools]-[AVD Manager]でCreate Virtual Deviceをクリックし、AVDを作成する。~ (AVD Managerが表示されない場合は、[[Android Studio]]を再起動する。) ***ダウンロード [#te929074] AVD作成プロセスの中で、APIレベルに対応するAVDをダウンロードする。 ***VT-X機能の有効化 [#h2500bf2] 必要に応じて、PCのVT-X機能を有効にする。BIOS設定から行う。 ***HAXMのインストール [#a847edd0] 必要に応じて、以下のいずれかの方法で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の起動 [#l49ee71f] エミュレートする前に[[Android Studio]]から作成したAVDを起動しておく。 ***参考 [#fc0e2dc7] -作成する場合、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 **[[Hyper-V>https://techinfoofmicrosofttech.osscons.jp/index.php?Hyper-V]]を一時的に無効化する。 [#pfe59a21] ***一部のエミュレータは、Hyper-Vとの同居が不可能 [#p70a273c] [[Docker for Windows>https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20for%20Windows]]や[[WSL2>https://techinfoofmicrosofttech.osscons.jp/index.php?WSL%20%E2%86%92%20WSL2]]でHyper-Vを使ってしまう。 ***Windows ハイパーバイザー プラットフォーム [#ya05f810] [[前述のエミュレータ>#p70a273c]]を、Hyper-Vと同時に動作させることができる。 ***参考 [#y940fec2] -他の仮想環境を利用するために~ 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 *参考 [#x0af0393]