[Xamarin Studio] Android Studioとの共存 – SDK・NDK・エミュレータの設定
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 で設定します。
File - Other Settings Default Project Structure からでも可能です。
(2) Xamarin Studio
Xamarin Studio のJDK/SDKのパス設定は、Xamarin Studio Comunity - Preferencesから開いたダイアログの SDK Locations - Android で行います。
既に、Android Studioを使用されている方は、ここをAndroid Studioに合わせると後々快適です。
3 バーチャルデバイス
(1) デバイス作成
最初に書いた通り、エミュレータの設定は、同じものを見ています。
(デフォルトで、~/.android/avd/にあります。)
試しに、SDKのパスを合わせてAndroid StudioとXamarin Studioで相互に同じものが使用できるかどうか試してみます。
Android Studioでは、TEST_AS、Xanarin StudioではTEXT_XSという名前でデバイスを作成しました。
Android Studioから見ると次のように見えます。
そして、Xamarin Studioからでは、こうなります。
(2) 相互使用
Android Studioから使用すると次のような感じです。
Android Studioで作成した端末 | Xamarin Sndroidで作成した端末 |
そして、Xamarin Studio から使用するとこんな感じです。
Android Studioで作成した端末 | Xamarin Sndroidで作成した端末 |
(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から使用 |
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
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シリーズ