[Xamarin Studio] Android Studioとの共存 – SDK・NDK・エミュレータの設定

Xamarin

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1 はじめに

何も意識せずにXamarin Studioをインストールすると、必要なJDKやSDKも自動的にインストールされます。

Android開発が初めてであればこれで問題ないのですが、元々AndroidStudioで開発をされている方であれば、既にJDKやSDKはセットアップされているはずなので、そのまま使いたいところです。

また、問題となるのは、エミュレータの設定です。これは、Android StudioもXamarin Studioもデフォルトで同じなので、AndroidStudioで設定されているエミュレータが、そのままXamarinStudioで一覧されます。 しかし、SDKの参照パスはデフォルトで相違があるため、「一覧にあるが起動できない」などの問題が発生します。

今回は、この辺をうまく共存できるように、設定を整理してみました。

2 JDK/SDKのパス

(1) Android Studio

Android Studio のJDK/SDKのデフォルトのパス設定は、Configure - Project Defaults - Project Structure で設定します。

007

020

File - Other Settings Default Project Structure からでも可能です。

021

(2) Xamarin Studio

Xamarin Studio のJDK/SDKのパス設定は、Xamarin Studio Comunity - Preferencesから開いたダイアログの SDK Locations - Android で行います。

009

既に、Android Studioを使用されている方は、ここをAndroid Studioに合わせると後々快適です。

3 バーチャルデバイス

(1) デバイス作成

最初に書いた通り、エミュレータの設定は、同じものを見ています。

(デフォルトで、~/.android/avd/にあります。)

試しに、SDKのパスを合わせてAndroid StudioとXamarin Studioで相互に同じものが使用できるかどうか試してみます。

Android Studioでは、TEST_AS、Xanarin StudioではTEXT_XSという名前でデバイスを作成しました。

Android Studioから見ると次のように見えます。 014

そして、Xamarin Studioからでは、こうなります。 012

(2) 相互使用

Android Studioから使用すると次のような感じです。

Android Studioで作成した端末 Xamarin Sndroidで作成した端末
011 016

そして、Xamarin Studio から使用するとこんな感じです。

Android Studioで作成した端末 Xamarin Sndroidで作成した端末
015 013

(3) スキン

相互に、問題なく使用できることは確認できましたが、スキンが違うので、かなり見た目が違います。 Xamarin Studioでは、デフォルトのものを使用しているので、かっこいいAndroid Studio用に変えてみます。

スキンの設定は、下記のフォルダの中のconfig.iniに書かれています。(端末名がTEXT_XSの場合)

~/.android/avd/TEST_XS.avd

Xamarin Studio でスキンを WVGA854 として作成した下記の設定を

skin.path=platforms/android-19/skins/WVGA854

次ののように書き換えます。

skin.path=/Applications/Android Studio.app/Contents/plugins/android/lib/device-art-resources/nexus_5

変更したエミュレータを使用してようすは、次のとおりです。

Android Studioから使用 Xamarin Sndroidから使用
017 018

Android Studio で提供されているスキンは、下記にあります。

$ pwd
/Applications/Android Studio.app/Contents/plugins/android/lib/device-art-resources
$ ls -la
-rw-r--r--@  1 hirauchishinichi  admin  7397  4 23 14:53 device-art.xml
drwxr-xr-x@ 10 hirauchishinichi  admin   340  4 23 14:53 galaxy_nexus
drwxr-xr-x@ 10 hirauchishinichi  admin   340  4 23 14:53 nexus_10
drwxr-xr-x@ 10 hirauchishinichi  admin   340  4 23 14:53 nexus_4
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_5
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_5x
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_6
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_6p
drwxr-xr-x@ 10 hirauchishinichi  admin   340  4 23 14:53 nexus_7
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_7_2013
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 nexus_9
drwxr-xr-x@ 15 hirauchishinichi  admin   510  4 23 14:53 nexus_one
drwxr-xr-x@ 17 hirauchishinichi  admin   578  4 23 14:53 nexus_s
drwxr-xr-x@  6 hirauchishinichi  admin   204  4 23 14:53 phone
drwxr-xr-x@  5 hirauchishinichi  admin   170  4 23 14:53 tablet
drwxr-xr-x@  6 hirauchishinichi  admin   204  4 23 14:53 tv_1080p
drwxr-xr-x@  6 hirauchishinichi  admin   204  4 23 14:53 tv_720p
drwxr-xr-x@ 19 hirauchishinichi  admin   646  4 23 14:53 wear_round
drwxr-xr-x@  7 hirauchishinichi  admin   238  4 23 14:53 wear_square
drwxr-xr-x@  9 hirauchishinichi  admin   306  4 23 14:53 xoom

試しに、nexus_9に変えてみると

skin.path=/Applications/Android Studio.app/Contents/plugins/android/lib/device-art-resources/nexus_9

019

4 最後に

今回は、既にAndroid Studioを利用されている方が、Xamarin Studioをセットアップする際の設定についてまとめてみました。

もしかすると、既存の環境どおりエミュレータが動くとなると、結構ハードルが下がるのでは無いでしょうか・・・

5 参考資料

Where can I set my iOS or Android SDK locations?
Mac に Xamarin.Android をインストールする手順
これから Xamarin を始めたい方向けの凄く丁寧なインストールガイド (Windows/Android 編)
Xamarin記事一覧(SAPPOROWORKSの覚書)
[Developers.IO] Xamarinシリーズ