Windows 11 + C# + .NET MAUI(Android)開発環境構築手順
2026/01/17 09:00:00
Windows11 + C# + .NET MAUI開発環境:
- Visual Studio 2026(Community)。
- .NET8(MAUI8)。
- Android Emulator。
- PowerShell7
PowerShell7 開発環境構築手順 参照 - windowsユーザ名が日本語の場合でも対応。
- ANDROID_SDK_HOME は
C:\home\developerとする。
1. 全体構成 #
Windows 11
└ Visual Studio 202x(2026) Community
└ .NET8(MAUI8)
└ Android SDK / Emulator
- WSL:不要(非推奨)
- 開発言語:C#
- UI:XAML(MAUI)
- 仮想化:Hyper-V(AMD SVM / Intel VT-x)
2. Visual Studio インストール手順 #
2.1 Visual Studio インストール #
以下からダウンロードした VisualStudioSetup.exe を実行し、Visual Studio Installer を起動し、各項目を設定する
- ダウンロード先(公式) https://visualstudio.microsoft.com/ja/vs/ ※2026/01/06 現在「Visual Studio 202x(2026) 」がインストールされる
ワークロード選択(最重要) #
- ☑ .NET マルチプラットフォーム アプリ UI 開発
右側「インストールの詳細」で確認 #
以下が すべて有効 であることを確認する。
- ☑ .NET MAUI
- ☑ Android SDK
- ☑ Android Emulator
- ☑ OpenJDK
- ☑ Windows 10/11 SDK
任意 #
※ .NET デスクトップ開発(WPF / WinForms)は MAUI 開発には必須ではない。
MAUI は独立したワークロードであり、Android / iOS / Windows 向けアプリ開発は
「.NET MAUI 開発」および「Android 開発」ワークロードのみで実施可能である。
本項目は、WPF や WinForms など Windows 専用デスクトップアプリを
別途開発・保守する場合にのみ選択する。
- ☑ .NET デスクトップ開発(WPF 等を使用する場合)
右下の [インストール] を実行
- 所要時間は 20〜60 分程度
- Android SDK のインストールには時間がかかる
- 再起動要求が表示された場合は従う
windowsユーザ(users path)に日本語パスを含む場合の対応 #
以下の設定でパスを変更しておく必要がある。
mkdir "C:\home\developer\.android\avd" -Force
# Windows 本体のユーザー環境変数に直接書き込む
[Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME", "C:\home\developer", "User")
[Environment]::SetEnvironmentVariable("ANDROID_USER_HOME", "C:\home\developer\.android", "User")
[Environment]::SetEnvironmentVariable("ANDROID_AVD_HOME", "C:\home\developer\.android\avd", "User")
avd 起動時の警告の直接的な解除方法
エミュレータの設定でパスを正しく教えてあげる必要があります。
起動しているエミュレータの右側にあるツールバーの 「...」 (Extended Controls) をクリックします。
左メニューの Settings > General タブを選択します。
「Use detected ADB location」 のチェック(またはスイッチ)を オフ にします。
その下の入力欄に、以下のパスを直接指定してください:
C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe
これで「OK」を押せば、次からこの警告は出なくなります。
2.2 プレビュー機能の有効化 (.slnx 対応) #
- ※jenkins等でdotnetコマンドを利用する場合、スキップしてもかまわない
- ※dotnetコマンドからはslnでないと動作しない場合があるため
新しいソリューション形式 .slnx を利用するには Visual Studio のプレビュー機能を有効にする必要がある場合がある。
- ツール → オプション を開く。
- 環境 → プレビュー機能 を選択。
- 「.NET プロジェクト システムで XML ソリューション ファイル (.slnx) を使用する」(または類似の項目)にチェックを入れる。
- Visual Studio を再起動する。
2.3 Windows 開発者モードの有効化 #
実機等を利用しない場合、スキップ
Windows ターゲットでの実行やデバッグを円滑に行うために必要である。
- Windows 設定 → システム → 開発者向け を開く。
- 「開発者モード」 を オン にする。
2.4 .NET 8 ワークロードの手動導入(参考) #
通常は Visual Studio インストーラーによって自動的に管理されるが、プレビュー版の挙動等により手動インストールが必要な場合は、以下のコマンドを実行する。
# nuget アドレス追加
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
# 以下は最新がインストールされる
dotnet workload install maui
# .NET 8 の最新ワークロードセットを指定してインストール
dotnet workload install maui --version 8.0.400
2.5 その他コマンドいろいろ #
# .NET 8 SDK のインストール
winget install Microsoft.DotNet.SDK.8
# .NET 10 SDK のインストール
winget install Microsoft.DotNet.SDK.10
# nuget アドレス追加
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
# バージョン確認
dotnet --list-sdks
8.0.416 [C:\Program Files\dotnet\sdk]
10.0.101 [C:\Program Files\dotnet\sdk]
# 確認したバージョンのmauiをインストール
mkdir tmp
cd tmp
# .NET 8 用の MAUI ワークロードをインストール
dotnet new globaljson --sdk-version 8.0.416 --force
dotnet workload install maui
# .NET 10 用の MAUI ワークロードをインストール
dotnet new globaljson --sdk-version 10.0.101 --force
dotnet workload install maui
# maui インストール確認
dotnet workload list
インストール済みワークロードの ID マニフェストのバージョン インストール ソース
--------------------------------------------------------
maui 8.0.100/8.0.100 SDK 8.0.400
`dotnet workload search` を使用して追加ワークロードを検出し、インストールします。
3. 仮想化(AMD SVM / Intel VT-x)の確認 #
Android Emulator には ハードウェア仮想化が必須である。
3.1 タスクマネージャーで確認 #
Ctrl + Shift + Esc- パフォーマンス → CPU
以下が表示されていれば問題ない。
仮想化: 有効
3.2 PowerShell で確認 #
systeminfo
以下を確認する。
Hyper-V 要件:
仮想化がファームウェアで有効: はい
3.3 BIOS 設定(無効な場合) #
CPU ベンダーに応じて以下の設定を Enabled に変更する。
- AMD:
SVM Mode/Secure Virtual Machine - Intel:
Intel Virtualization Technology/VT-x
| メーカー | 設定パス例 |
|---|---|
| ASUS | Advanced → CPU Configuration → SVM Mode / Intel Virtualization Technology |
| MSI | OC (Overclocking) → CPU Features → SVM Mode / Intel Virtualization Tech |
| Gigabyte | Advanced BIOS → CPU Settings → SVM / Intel Virtualization Technology |
| ASRock | Advanced → CPU Configuration → SVM Mode / Intel Virtualization Technology |
| Dell / HP | Virtualization Support → Virtualization / VT-x |
3.4 Windows の機能の有効化 #
OS 側で仮想化プラットフォームを有効にする必要がある。
Windowsキー + R→optionalfeaturesを入力。- 以下の項目にチェックを入れる。
- ☑ Windows ハイパーバイザー プラットフォーム
- ☑ 仮想マシンプラットフォーム
- 再起動を行う。
※注意(Intel CPU ユーザー向け): Windows ハイパーバイザー プラットフォームを使用する場合、旧来の Intel HAXM (Hardware Accelerated Execution Manager) は不要です。インストールされている場合は競合の原因となるため、アンインストールを推奨します。
4. Android Emulator 設定 #
4.1 デバイスマネージャー起動 #
Visual Studio メニューより以下を選択する。
ツール → Android → Android デバイス マネージャー
4.2 推奨 AVD 設定 #
- Device:Pixel 6 / Pixel 7
- System Image:Android API 33 / 34(Google APIs)
- ABI:x86_64
※ ARM イメージや Play Store 付きは動作が遅いため非推奨である。
4.3 実機デバッグの準備(推奨) #
パフォーマンス確認やハードウェア機能(カメラ等)のテストには実機が不可欠である。
- 開発者モードの有効化: Android 設定 → デバイス情報 → 「ビルド番号」を 7 回タップ。
- USB デバッグの有効化: システム → 開発者向けオプション → 「USB デバッグ」を ON。
- PC 接続: USB ケーブルで接続し、スマホ側の確認ダイアログで「許可」を選択。
5. MAUI プロジェクト作成(参考) #
新しいプロジェクト
→ .NET MAUI アプリ
- 単一プロジェクト:有効
- XAML:デフォルト設定
6. ローカル API 接続設定(mock_MES_API) #
本プロジェクトに含まれる mock_MES_API(Python/FastAPI)を Android Emulator から利用する場合、以下の設定が必要である。
6.1 API サーバーの起動 #
アプリを実行する前に、PowerShell で API サーバーを起動しておく必要がある。
本プロジェクトは Python 3.12.5 を指定している(uv 使用時は自動管理される)。
# プロジェクトルートから実行
cd mock_MES_API
uv sync
uv run uvicorn restapi.main:app --reload --host 0.0.0.0 --port 8000
- ※
uvコマンドが未インストールの場合は、pip install uv等で導入すること。 - ※Windows ファイアウォールの警告が表示された場合、「プライベート ネットワーク」(および必要に応じて「パブリック」)での通信を許可すること。これを行わないとエミュレーターから接続できない。
6.2 HTTP 通信の許可(CleartextTraffic) #
開発用 API は HTTP で動作するため、Android 9 (API 28) 以降では明示的に許可する必要がある。
Platforms/Android/AndroidManifest.xml の <application> タグに android:usesCleartextTraffic="true" を追加する。
<application
android:allowBackup="true"
android:icon="@mipmap/appicon"
android:usesCleartextTraffic="true" <!-- これを追加 -->
android:roundIcon="@mipmap/appicon_round"
android:supportsRtl="true"></application>
6.3 接続先アドレス(10.0.2.2) #
Android Emulator 内からホスト PC(Windows)のローカルサーバー(localhost)を参照する場合、localhost ではなく特殊な IP アドレス 10.0.2.2 を使用する。
- Windows:
http://localhost:8000 - Android Emulator:
http://10.0.2.2:8000
ApiService.cs 等での実装例:
public static string BaseUrl = DeviceInfo.Platform == DevicePlatform.Android
? "http://10.0.2.2:8000"
: "http://localhost:8000";
6.4 実機からの接続(Wi-Fi 経由) #
物理デバイスでデバッグする場合、localhost や 10.0.2.2 は使用できない。
PC と Android 端末を同一 Wi-Fi に接続し、PC の IP アドレスを指定する。
- PC で
ipconfigを実行し、IPv4 アドレスを確認(例:192.168.1.15)。 - コード内の接続先をその IP に変更する。
// 実機デバッグ用の一時的な変更例
public static string BaseUrl = "http://192.168.1.15:8000";
7. よくあるトラブル #
Emulator が起動しない場合 #
- 仮想化(SVM / VT-x)が無効
- WSL / VirtualBox との競合
wsl --shutdown
ビルドエラー(JDK 競合) #
「Java SDK が見つからない」「バージョンが一致しない」等のエラーが出る場合、システム環境変数 JAVA_HOME が古い Java を指している可能性がある。
Visual Studio がインストールした OpenJDK を使用するように設定を確認する(通常は VS の設定で自動解決されるが、明示的な環境変数が優先される場合がある)。
原因不明のビルド・デプロイエラー #
挙動がおかしい場合は、プロジェクトのクリーンを行う。
- Visual Studio を閉じる。
- プロジェクトフォルダ内の
binおよびobjフォルダを削除する。 - Visual Studio を開き、リビルドを実行する。
MAUI テンプレートが表示されない場合 #
- ワークロードが未選択である可能性が高い