XamarinのADV「エミュレーター」は使物にならない!デバッグに実機を使用する方法!

仮想マシン
Pocket

ちょっと衝撃的でした!いきなり訳の分からないところで挫折!当初XamarinのADV(Androidエミュレーター)を利用して「Hello World!」を表示するところまでは順調でしたが、エミュレータにアプリが配置されるのに時間が掛かりすぎるのは気になっていましたが

エミュレーター自体の起動はそこそこ早いのですが、XAMLファイルでデザインを加えてADVを使用するとアプリの配置と起動までに時間が掛かりすぎるため使い物になりません。時間が掛かりすぎるというよりもアプリが起動しません。色々調べて「x86_64」が早いという情報もあるのですがそれでもお話になりません。デザインを入れただけのアプリの起動がされなくなるってどうなの?

C#を知っていても、いきなり挫折しました。結局行きついたところは実機の使用です。試しに実機で試してみたらあっけなく表示されました

最初は「Xamari.Forms」での開発が遅いのかな?って思っていましたが、「ネイティブアプリ」でも同じです!残念ながらADVは使い物になりません!

実機ベースで開発しないと駄目ですね。Android端末を沢山所有している訳ではないので画面サイズ等の問題を上手くクリアする必要はありますが、現時点では実機ベースのデバッグが一番良いです。こんなところで無駄な時間を使ってしまいました。

ADV「Androidエミュレーター」の問題点

まず私の開発環境のスペックですが、下のような構成です。

OSWindows10Pro
プロセッサIntel(R)Core(TM) i5-7400 CPU @ 3.00GHz
実装メモリ(RAM)16.0GB(15.9GB使用可能)
ドライブCドライブ:SSD(222GB)
Dドライブ:HDD(2TB)
システムの種類64ビットオペレーティングシステム、x64ベースプロセッサ

「Microsoft Visual Studio Community 2017 Version15.4.2」をCドライブにインストールして使用しています。開発ソリューションはDドライブに作成しております。

確かに今は「i7」というCPUがありますが、開発するには十分過ぎる環境であるはずです。これでも不足しているというのであれば、常にパソコンを買い替えないと開発環境に追い付けない。自分の知っている「Visual Studio」をWindowsアプリの開発ではデバッグが簡単に行えていました。

しかしADVの速度に問題があるのか、アプリ展開が遅いのかは不明ですが、Xamarin.Forms.Previewer」で表示できているのに、「Hellow World!」からデザインを変更しただけで反映されない。新規にエミュレータを作成してもダメ。何もかもダメ。

ADVを使って開発すること自体が現実的ではない」と言う結論に至りました。

これはもうハードスペックの問題ではない!

上記で説明した通りですが、ADVを利用した開発は幾ら開発環境が良くても遅いと思います。私も「Hyper-V」を無効にして「x86」で高速化したエミュレータを作成して試しましたが、ビルドとエミュレーターの起動までは順調です。配置に関しても少し待っていると、「準備完了!」と表示されるのですが、肝心の開発しているアプリが起動してきません。デザインを少しいじっただけで

これ何か重大な問題点があるような気がしてなりません。そのうち解決するような気がしますが、実機を使用するとあまりにもあっけなく表示されたので、デザインコードが間違っていたとは考えられない。ビルド時もエラーはなしです。

もはや意味不明です!

恐らく同じような事で悩まれている方いるのでは?

ちなみに「Xamarin Live Player」で「iPhone」ではあっけなく表示されます。

ADV「エミュレーター」の使用で悩まれている方いましたら、エミュレーターの利用は薦めません!とりあえず2017年11月時点においては使うこと自体が時間の無駄になりますので、ここで躓いている方は実機でのデバッグをお薦めします。

実機でのデバック方法!

android端末を用意してください。これは余りにも古いバージョンのandroid端末は何とも言えません。ネットオークション等で安く手に入れるのもありですかね。「Nexus7」あたりが丁度良いような気もしますね。

まずandroid端末を開発者モードにする必要があります。これandroidのバージョンによって方法が異なるようです。

ただ、android端末の「設定」-「端末情報」-「ビルド番号」が表示されている部分をクリックすると開発者モードに切り替えできます。ちなみに私の端末は「エイスース 8型タブレットパソコン ZenPad 8.0 Wi-Fiモデル (ブラック) Z380M-BK16」なのですが、ビルド番号が「ソフトウェア情報」という部分に表示されていたので、そこを連続5回クリックしたら開発者モードになりました。

開発者モードに切替えたらするべきこと

android端末の「設定」の中に「開発者向けオプション」とうものが表示されますので、「USBデバッグ」をONにして下さい。

これでデバッグ端末側の準備は終了です。まだパソコンとUSBで繋がないで下さい。

「Android SDK Manager」で必要なドライバーをインストール

下図「Android SDK Manager」の赤枠部分で囲ったGoogle USB Driver」をインストールして下さい

Google USB Driver

恐らくandroid端末のバージョンによっては、そのバージョンに必要なSDKもインストールが必要になるケースもあると思います。

デバッグするまであと少しです!

ここまで来ましたら、一応一度「Visual Studio」を閉じておいてください。USBでandroid端末を繋ぎ、「Visual Studio」を起動してみて下さい。下図の赤枠部分のエミュレータ選択部分に実機名が表示されるはずです!

エミュレータ選択

これでデバッグしてみて下さい。

あっけなく実機に開発アプリが表示されます!

最後にまとめると

恐らく、ADVに拘っていたことが馬鹿みたいに思えませんか?とりあえずandroidアプリの開発には実機が少なくとも必要になるという事です。最終的には実機で確認作業も必要となるので、画面サイズが小さいものと大きいもの2台は欲しいところですね。

最初から実機でデバッグをした方が効率が良いという事が今回わかりました!

この記事でエミュレーターの事で悩まれている方いましたら、最初から実機を使用することをお薦めいたします。最終的に世の中にリリースするには端末で確認作業が必須ですので、無駄にエミュレーターの事で悩まない方が良いです。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です