Windows 11 + C# + .NET MAUI(Android)開発環境構築手順

Windows 11 + C# + .NET MAUI(Android)開発環境構築手順

2026/01/17 09:00:00
Program
Windows, Powershell, Android

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 を起動し、各項目を設定する

ワークロード選択(最重要) #

  • .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 のプレビュー機能を有効にする必要がある場合がある。

  1. ツールオプション を開く。
  2. 環境プレビュー機能 を選択。
  3. 「.NET プロジェクト システムで XML ソリューション ファイル (.slnx) を使用する」(または類似の項目)にチェックを入れる。
  4. Visual Studio を再起動する。

2.3 Windows 開発者モードの有効化 #

実機等を利用しない場合、スキップ

Windows ターゲットでの実行やデバッグを円滑に行うために必要である。

  1. Windows 設定 → システム開発者向け を開く。
  2. 「開発者モード」オン にする。

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 タスクマネージャーで確認 #

  1. Ctrl + Shift + Esc
  2. パフォーマンス → 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 側で仮想化プラットフォームを有効にする必要がある。

  1. Windowsキー + Roptionalfeatures を入力。
  2. 以下の項目にチェックを入れる。
    • Windows ハイパーバイザー プラットフォーム
    • 仮想マシンプラットフォーム
  3. 再起動を行う。

※注意(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 実機デバッグの準備(推奨) #

パフォーマンス確認やハードウェア機能(カメラ等)のテストには実機が不可欠である。

  1. 開発者モードの有効化: Android 設定 → デバイス情報 → 「ビルド番号」を 7 回タップ。
  2. USB デバッグの有効化: システム → 開発者向けオプション → 「USB デバッグ」を ON。
  3. 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 経由) #

物理デバイスでデバッグする場合、localhost10.0.2.2 は使用できない。 PC と Android 端末を同一 Wi-Fi に接続し、PC の IP アドレスを指定する。

  1. PC で ipconfig を実行し、IPv4 アドレスを確認(例: 192.168.1.15)。
  2. コード内の接続先をその 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 の設定で自動解決されるが、明示的な環境変数が優先される場合がある)。

原因不明のビルド・デプロイエラー #

挙動がおかしい場合は、プロジェクトのクリーンを行う。

  1. Visual Studio を閉じる。
  2. プロジェクトフォルダ内の bin および obj フォルダを削除する。
  3. Visual Studio を開き、リビルドを実行する。

MAUI テンプレートが表示されない場合 #

  • ワークロードが未選択である可能性が高い