はじめに
androidアプリを作ってみようと思いながら、何で作るか、新しいことを学ぶ量が多すぎるとしんどいので、と考えた結果、Visual StudioのXamarinで作ってみようと思います。
Xamarinを使うと、C#とXAMLという宣言型マークアップ言語でアプリ開発ができるようです。
そこで、アプリ開発の第一段としてVisual Studio 2019(以降、VS2019)とXamarinの開発環境を整備してみたいと思います。
VS2019とXamarinのインストール
VS2019とXamarinをインストールします。
インストール方法は、Microsoftのホームページに詳しく載っています。
VS2019は、こちらからインストールできます。ここでは、個人的に利用するので、Communityを選択しています。
VS2019インストール時にXamarinもインストールできますが、VS2019インストール後にあとからXamarinを追加する場合は、スタートメニューからVisual Studio Installerを起動して、VS2019を変更します。
インストール手順に従ってVS2019とXamarinをパソコンに追加します。
プロジェクトの作成
Xamarinを使って新規プロジェクトを作成してみます。VS2019を起動し、新しいプロジェクトの作成を選択します。
テンプレートの検索で「Xamarin」と入力すると、関連するプロジェクトテンプレートが表示されます。
もし、Xamarinの表示がされなければ、インストールが正しくできているかを確認してみましょう。
ここでは、テンプレートとして、Xamarin.Formsを選択します。
プロジェクト名を入力して、空白のテンプレートを選び、OKボタンを押します。
これで、Xamarinのスケルトンプロジェクトが生成されます。
エミュレータの設定
実際にプログラムを実行する前に、仮想環境の設定をします。
VS2019でandroid SDKを使うにあたって、ライセンス画面が表示されるので、ライセンスに同意します。
ここでは、Pixel 2がデフォルトの仮想端末として選択されています。
createボタンを押すと、必要なプラットフォームとツールがインストールされます。
[ツール]メニューにある[Android]-[Androidデバイスマネージャ]をクリックするとエミュレート可能なデバイスが表示されます。デバイスは、新規作成できるので、自分で作成した名前で登録できます。
プログラムのデバッグ
スケルトンプログラムに少しだけ修正を加えて実行してみます。
MainPage.xamlファイルのLabelに色と文字サイズ、文字スタイルを追加します。
TextColor="Aqua"
FontSize="Large"
FontAttributes="Bold,Italic"
これで、デバッグを開始してみます。
デバッグは、三角マークをクリックして、エミュレータを起動します。
ここで、次のようなエラーメッセージが表示されました。
このメッセージは、ハードウェアの高速化が有効となっていない場合に表示されます。
ハードウェアの高速化は、Hyper-V/WHPX、または、HAXMという仮想化技術が使われていて、どちらかが有効になっていないとエラーメッセージとなるようです。
使用しているコンピュータのHyper-V/WHPXが有効化されているかの確認方法について説明したいと思います。
Hyper-V/WHPXの状態確認
windowsの検索窓に[powershell]と入力して、管理者で実行します。
Hyper-Vの状態の確認は、次の命令を実行します。
Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
WHPX(Windows Hypervisor Platform)の状態確認はは、次の命令を実行します。
Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
実行結果の「State」が「Disabled」となっていたら、無効状態なので、次の命令で有効化します。
Hyper-Vの有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
WHPXの有効化
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All
この環境では、Hyper-Vの応答がなく、WHPXは、無効となっていたので、WHPXを有効化しました。
有効化設定後、コンピュータを再起動します。
これによって、先ほどのエラーメッセージは、通知されなくなりました。
この設定は、コンピュータ環境によって変わってくると思います。詳細は、MicrosoftのページにあるAndroid Emulatorのトラブルシューティングにある「パフォーマンスの問題」の項目に記載されています。
また、エミュレータのパフォーマンスのためのハードウェア高速化についての詳細は、こちらにまとめられています。
エミュレータの起動
ハードウェアの高速化設定後、デバッグを実行するとエラーメッセージの通知はなく、エミュレータが起動します。
起動に時間がかかりますが、「Welcome to Xamarin Forms!」が表示されました。
まとめ
Visual Studio 2019のXamarinを使ってAndroidやiOSのアプリ開発の環境を整備しました。
ハードウェアの高速化設定でやや時間を取られましたが、スケルトンプログラムの実行までできました。
これをベースにXAML、C#でアプリ開発ができそうです。
コメント