これから Xamarin を始めたい方向けの凄く丁寧なインストールガイド (Windows/Android 編)

こんにちは。エクセルソフトの田淵です。 
Xamarin のインストール、初期設定は今まで Windows アプリを開発していた方にとって結構敷居が高く、Xamarin 標準の統合インストーラーで全部インストールしてくれはするのですが、個人的にあまり好みじゃない感じに色んなツールがインストールされてしまいます。

特に Android 開発には色々なツールが必要になる点と、頻繁にアップデートが発生する点からなるべく触りやすいところに配置した方が後々困りません。そういうインストールガイドを書いておいた方が良いかと思い、エントリーを残しておきます。

Windows での iOS 開発環境のガイドはまた別途書きたいと思います。

# 事前にやっておきましょう

この部分はすでに Android Studio や eclipse でネイティブアプリ作ってるよ！って方は読み飛ばして構いません。なお、個人的に Android の環境は短くてスペースの無い 1バイトのフォルダが何かと都合が良いと思うので、`C:\dev\` をルートとしていますが 2バイトのフォルダじゃなければ多分問題はないと思います。

## まずはということで

- Visual Studio のインストール
  - Professional 以上が必要です。

## 次は Android 用に Java ですね

- [J2SDK 1.7](http://www.oracle.com/technetwork/java/javase/downloads/index.html) のインストール
 - Android L Preview 対応の Xamarin Alpha 版は 1.7 が必須なので、今後の事を考えると 1.7 が良いと思います)
- 環境変数に JAVA_HOME 設定
- PATH に %JAVA_HOME%\bin 追加

## ネイティブの開発環境

ネイティブの開発環境も入れておきましょう。どうせ同じ書式でレイアウトを組みますし xml の中身をコピーして Xamarin で使えますし。

- [Android Studio](http://developer.android.com/sdk/installing/studio.html) か、[Eclipse + ADT](http://developer.android.com/sdk/index.html) のインストール
 - どちらを使うかは好き好きで良いかと思いますが、Android Studio も安定してきて自動アップデートっぽいので多分楽です。
 - Android Studio はインストーラーでインストールパスを `C:\dev\Android-Studio` に指定します。
     - %ProgramFiles(x86)% にインストールしてしまうと、SDK をアップデートする際に **管理者権限で起動して UAC をパス**する必要があるため、VS や eclipse から SDK Manager を呼び出すと当然管理者権限では起動しないので、**SDK アップデートに失敗**します。ご注意ください。
 - ADT の場合は zip をダウンロードし、`C:\dev\adt-bundle-windows-x86_64` に展開します。
     - ADT は SDK のバージョンが上がると eclipse 自体の置き換えが必要になったりしますので注意です。その場合は最新の ADT をダウンロードして、eclipse だけ入れ替えると良いでしょう。
 - [Android Studio と ADT を共存させる](http://qiita.com/hidekuro/items/d2aadb907c617a4554db)場合は、どちらかでどちらかの SDK のパスを参照すると良さそうです。[ビルドシステムが異なるのでプロジェクトの完全な共存は難しそうです。](http://sumio.hatenablog.com/entry/2013/06/23/225358)
- %ANDROID_SDK_HOME% 設定
  - AVD (Android Virtual Device) を格納するフォルダです。ここでは `C:\dev\AVD` フォルダを作成して指定します。

2014/11/18 追記：
最新の Android Studio では SDK のフォルダが別れましたが、基本は同じです。手動でフォルダを変更した場合は、環境変数の書き換えなども忘れずに行いましょう。

## SDK Manager

Android Studio をインストールすると、sdk 直下に SDK Manager.exe がありますが、動きません。ADT をコピーした場合はそもそもありませんｗ SDK Manager と AVD Manager を直接呼び出せるようにしましょう。まずは SDK Manager です。

- `sdk\tools\lib` に SDK Manager.exe と AVD Manager.exe の本体がありますが、これがそのままでは起動しません。  
![スクリーンショット 2014-10-02 19.02.17.png](https://qiita-image-store.s3.amazonaws.com/0/32453/0287222f-aff3-816c-3d50-2298a07049af.png)
- `tools\andoid.bat` を呼び出しているので、`sdk` の直下にコピーします。
- この 2つはタスクバーにでも追加しておくと直接呼び出せるので非常に便利です。
- SDK Manager を起動して、必要な SDK とシステムイメージをインストールします。最低これくらいは必要かと思います。  
![androidsdk.png](https://qiita-image-store.s3.amazonaws.com/0/32453/0f7aeb57-7000-11c8-8013-c28d70c25e3f.png)
  - Android SDK Platform-tools, Android SDK Build tools, 4.4.2 と 4.0.3 の SDK Platform, Intel x86 Atom System Image は使う事が多いので必須です。
  - ARM のエミュレーターはくっそ重いので、一番下の Intel x86 Emulator Accelerator (HAXM) も必須です。
      - HAXM は `sdk\extras\intel` にダウンロードされる zip を解凍してインストールします。
          - インストール時に使用メモリを指定しますが、お使いのマシンに併せて適切なメモリを指定してください。  
          ![スクリーンショット 2014-10-02 19.22.31.png](https://qiita-image-store.s3.amazonaws.com/0/32453/6521b48d-10db-e155-2cce-b457acd11978.png)
          - Windows では、エミュレーターは 1台あたり 512MB のメモリしか積めないので、1台しか起動しないのであれば 1GB あれば十分かと思います。
      - 高速な x86 HAXM エミュレーター以外には VirtualBox ベースの [Genymotion](http://www.genymotion.com/) や、思い切って仮想マシンや実機に [x86 Android](http://www.android-x86.org/download) を直にインストールしちゃうのも面白いかもしれません。
      - エミュレーター回りの情報は [VMware / Parallels で x86 Android エミュレーター / Genymotion を動かす - Qiita](http://qiita.com/ytabuchi/items/15ff8ae9cc9be9f4bb36) や [Android x86 を仮想環境 (VMware/VirtualBox/Parallels) にインストールしてリモートデバッグする方法 - Qiita](http://qiita.com/ytabuchi/items/f087252572839eb8400a) を参照してください。

SDK Manager はこれで終了

## AVD Manager

コピーした AVD Manager.exe を叩いて起動しましょう。

- 何もありませんが、パスは `%ANDROID_SDK_HOME%\.android\avd` になっているはずです。  
![スクリーンショット 2014-09-17 17.05.36.png](https://qiita-image-store.s3.amazonaws.com/0/32453/ce8b5982-e9f0-c232-6569-d6a02e2828d9.png)
- 操作しやすい AVD を作るため、まずは Device Difinition タブで Device を作ります。
  - なぜか Create Device ボタンから Device が作れないので、Nexus 4 あたりを選択して Clone します。
  - 超オススメなのが、Input で Keyboard と DPad をチェックすること。Navigation が全部チェックされていることです。これで、**リストがマウスのホイールでスクロールできる**ようになります。後は画面を 1080x1920 にすると重くなるので、一世代前の機器レベルですが、720x1280 などだとサクサクだと思います。    
  ![スクリーンショット 2014-09-17 17.15.42.png](https://qiita-image-store.s3.amazonaws.com/0/32453/3deb80f9-7b94-b990-9d2a-02268bbf6f66.png)
- Device を作成したら、AVD を作ります。
  - Device から先ほど作った Device を、Target は任意で。CPU/ABI は Intel Atom で。Skin は任意で。Internal Storage はデフォルトでは 200MB ですが、Xamarin のアプリは Mono Runtime や API Library が大きいので、512MB 以上だと安心です。そして `Use Host GPU` も忘れずにチェック  
  ![スクリーンショット 2014-09-17 17.18.17(2).png](https://qiita-image-store.s3.amazonaws.com/0/32453/9d6d0e41-c95a-5d91-eefb-18ce7e207ca3.png)

さて、ここまで来れば快適な Android デバッグ環境の出来上がりです。お疲れ様でした。

ここから Xamarin のインストールに入りますｗ やっとですｗ

# Xamarin インストール

http://xamarin.com/download からダウンロードした統合インストーラーを起動します。

- インストーラーが勝手に SDK をインストールしようとしやがるので、`Choose new location` から `C:\dev\android-studio\sdk` を指定しましょう。  
![スクリーンショット 2014-09-17 18.17.54.png](https://qiita-image-store.s3.amazonaws.com/0/32453/a2b03486-2636-7a9f-7958-681afa932bfc.png)
  - なお、SDK の場所を指定しても MonoAndroid の AVD とかが勝手にインストールされます。画面サイズも小さく特に使う必要はないので、後で AVD Manager から削除しても良いかと思います。
- %JAVA_HOME% で 1.7 が指定してあるので怒られますが、今後は 1.7 に移行しますので、無視して進めましょうｗ  
![スクリーンショット 2014-09-17 18.18.18.png](https://qiita-image-store.s3.amazonaws.com/0/32453/3f2b4773-f681-f8ed-b886-5cd98dd87d4c.png)
  - Java は混在しても %JAVA_HOME% の 1.7 を使うので特に問題ないかと思います。
- NDK とか必要だよーというのでそのまま次へ。  
![スクリーンショット 2014-09-17 18.18.33.png](https://qiita-image-store.s3.amazonaws.com/0/32453/d318d7ff-39d9-1896-e3e1-60609cff9bfb.png)
  - なお、何に使ってるか分からない NDK は `%USERPROFILE%\Documents` にインストールされ、%ANDROID_NDK_PATH% が設定されます。好みに応じて `C:\dev\NDK\android-ndk-r8d` とかに移動して、%ANDROID_NDK_PATH% を書き換えましょう。


Xamarin Studio を起動して、次のように正しく参照できていれば OK です。
何か間違っていても、ここで直接パスを指定してあげれば問題ありません。(出来れば Android Studio でも動くかは確認しておいた方が良いですが)
![スクリーンショット 2014-09-17 20.34.54.png](https://qiita-image-store.s3.amazonaws.com/0/32453/15a55a1b-01fb-5147-8db5-47b661849e89.png)

## お疲れ様でした！

Visual Studio を起動して Android プロジェクトを作成すると、自動的に評価版の確認画面が出てきますので Xamarin にアカウントを作り評価を開始しましょう。
後は [Xamarin 学習用リソースまとめ - Xamarin 日本語情報](http://ytabuchi.hatenablog.com/entry/2014/08/26/191759) で Xamarin の学び方を纏めておきましたので、バリバリ開発しちゃってください。


めくるめく C# での Android 開発をお楽しみくださいｗ



長々とありがとうございました。以上です。