Edited at

Visual Studio 2019 で Xamarin.Forms でデバッグ実行環境の構築


はじめに

Visual Studio 2019 で Xamarin.Forms での開発環境を構築するのにかなり手間取ったため、環境構築方法を記します。Visual StudioのインストールからAndroidのエミュレーターでデバッグ実行するまでの内容です(本稿執筆時点の2019年2月時点ではPreview版でしたが2019年4月に正式公開されたため内容を更新しました)。

本記事は、以下の方が対象です。


  • スマホアプリを作ってみたいと思っている人

  • Xamarin.FormsならC#でスマホアプリが作れると聞いてやってみようという人

  • せっかくなので最新環境(Visual Studio 2019)を使いたいと思っている人

私の場合は、上記に加えて、WPFで開発したWindows向けの高校野球シミュレーションのフリーゲームのスマホ版を開発したいという目的で環境構築しました。以下のサイトにてゲームを公開しています。

栄冠にゃいん(高校野球シミュレーション)

元々ロジック部分は、PCL(ポータブル クラス ライブラリ)で.NET Standard に置き換え可能であるため、WPFのUI部分を Xamarin.Formsで作り直せばいけるという想定で、今回 Xamarin.Forms の開発環境を構築しました。


環境構築手順


Visual Studio 2019 のインストール

Visual Studio 2019 をインストールします。

現時点(2019年2月)では、Preview版がリリースされているので

2019年4月に正式リリースされたので、以下のリンク先からダウンロードしてください。Community版は無償で利用できます。

Visual Studio 2019 のダウンロード

インストーラを実行すると、しばらく以下のような画面で待ちます。

インストールする機能を選択する画面が表示されるので、ここで[.NETによるモバイル開発]を選択します。

その後、ダウンロードとインストールは数十分かかる場合もありますので気長に待ってください。


プロジェクトの新規作成

インストールが完了したら、Visual Studio を起動して、[新しいプロジェクトの作成]というボタンを押して、下図の画面に進みます。

ここで、モバイル アプリ(Xamarin.Forms)を選択してください。

プロジェクト名に適当な名前を設定して[作成]ボタンを押してください。

テンプレートは、今回は環境作成だけなので[空白]を選択します。

すると、以下のようにプロジェクトが作成されます。

デフォルトで Android のプロジェクトがスタートアップになっていますので、さっそくデバッグ実行すると、Androidのエミュレーターが起動するのかと思いきや、エラーが発生して実行できないと思います。

本記事はここからが本番で、以降にAndroidのエミュレーターでデバッグ実行できるようにするまでに私がつまづいた問題への対処方法を記します。


Hyper-V または HAXM を利用可能な状態にする

Microsoftのページに、Androidのエミュレーターを実行するためには、Hyper-V か HAXM をどちらかを使う必要があると記載されていますので、以下のページに書いてある手順で、どちらかを利用できるようにしてください。

なお、Windows 10 Home を利用している人は、Hyper-V は利用できないので、HAXM を利用してください。手順に沿って「Device Guard を無効にする必要があります」というリンク先を読んで、[Device Guard 仮想化ベースのセキュリティ]を無効にしてから HAXM をインストールしてください。

エミュレーターのパフォーマンスのためのハードウェア高速化 (Hyper-V と HAXM)


Android SDK のインストール

Andoroid のエミュレーターを実行するために、[ツール] - [Android] - [Android SDK Manager] で必要な SDK をインストールします。

[プラットフォーム]タブは、最新の Android 9.0 をインストールします(8.1は最初からインストールされていたと思います)。私の環境では、なぜか 8.1の仮想デバイスが正常に作成できなかったので、9.0をお勧めします。



[ツール]タブも、最新のツールをインストールします。縦に長いので、2画面に分けて図示します。


Androidのプロジェクトのプロパティ変更

私の場合、エミュレーターを実行すると、「Deployment failed. FastDev directory creation failed.」というエラーが発生して正常に起動できませんでした。その場合は、Androidのプロジェクトのプロパティから[Fast Deployment の使用]のチェックを外してください。それで解消される記事が下記にありました。

Deployment failed. FastDev directory creation failed.

image.png


Android の仮想デバイスの作成

[ツール] - [Android] - [Android Device Manager] で、Andoroid の仮想デバイスを作成します。[新規]ボタンを押して表示する以下の画面で、仮想デバイスを設定します。私の場合、デフォルト設定のままだと正常に作成できなかったため、以下のように初期値から変更しました。

[OS]:Pie 9.0 - API 28

[Google APIs、Google Play Store]:チェックなし

上記の設定で作成したら、[Android Device Managar]ダイアログの[開始]ボタンを押してください。エミュレーターが実行されます。起動直後は真っ黒な画面が表示され、次に黒背景に Android という文字が表示されただけの状態となりますが、1~2分くらい待つと下図の状態になります。黒背景のまま変わらなかったら環境構築できていません。もう一度、上記手順を見直してみてください。


デバッグ実行

そしてついに、アプリケーションのデバッグ実行を行います。

デフォルトで、Xamarin.Formsのプロジェクトの MainPage.xaml に以下のように "Welcome to Xamarin.Forms!" と書かれたラベルが定義されていますので、デバッグ実行して、その画面が表示されるか確認してみます。

Visual Studioからデバッグ実行してしばらく待つと、起動中の仮想デバイスにアプリケーションが配置され、"Welcome to Xamarin.Forms!" と書かれたラベルを含む以下の画面が表示されます。この画面が表示されれば、環境構築成功です。

あとは、通常のアプリケーションと同様に開発できます。当然、ソースコードにブレークポイントを設定すれば、ステップ実行などもできます。

なお、わざわざ[Android Device Managar]から仮想デバイスを開始しなくても、Visual Studio からデバッグ実行を開始することで、仮想デバイスの開始およびアプリケーションの配置をまとめてできます。ただし、私の環境では、初回の仮想デバイス起動時は、その方法で正常に動作しませんでした。そのため本記事では、[Android Device Managar]で仮想デバイスを開始してから、デバッグ実行で配置する手順としています。

ここまで読んでいただき、ありがとうございます。

Xamarin.Forms で楽しくスマホアプリを開発しましょう。