SIN@SAPPOROWORKSの覚書

C#を中心に、夜な夜な試行錯誤したコードの記録です。

Xamarin.Forms 「ARC Welder」を使用してChromeブラウザで動作させて見た

【 Xamarin 記事一覧 】


ARC Welder

 昨日(2015年4月3日)、GoogleからAndroidアプリをChromeで動作させるというニュースがありました。
 ARCとは「Android Runtime for Chrome」の頭文字であり、Androidが使うAPIをラップして、ChromeブラウザまたはChrome OSで動かすランタイムとの事。まだ、ベータ版という事ですが・・・Xamarin.Formsで作成したAPKがうまく動作するかどうか試してました。
http://japanese.engadget.com/2015/04/02/google-android-chrome-arc-welder-apk/
f:id:furuya02:20150405104214p:plain

Xamarin.Formsのプロジェクト

結論から言ってしまうと、アプリのアイコンを設定して、リリースビルドすれば、証明書のあるパッケージは、問題なく動作するようです。

アイコン設定

プロジェクトテンプレートのデフォルトでは、アイコンが無いため、「ARC Welder」で「Launch App」時にエラーが発生してしまいます。
f:id:furuya02:20150405104224p:plain
ERROR: Required badging "icon" not found in package.

デバッグビルド

Xamarinのデバッグビルドは、高速化のため、「共有ランタイム(Shared Runtime)」などがリンクされていないのが原因だと思います。

証明書

証明書が無いパッケージでは、「Launch App」まで行けますが、実行時にcrashします。
f:id:furuya02:20150405104250p:plain

作業手順

それでは、実際に行った手順を順に紹介してみたいと思います。
(1)プロジェクトは、「Blank App (Xamarin.Forms Portable)」テンプレートを使用します。
f:id:furuya02:20150405104259p:plain
(2)構成マネージャで「Release」に変更します。
f:id:furuya02:20150405104304p:plain
(3)Androidプロジェクトのプロパティで、アイコンを設定します。
f:id:furuya02:20150405104309p:plain
(4)「ARC Welder」をインストールします。
https://chrome.google.com/webstore/detail/arc-welder/emfinbmielocnlhgmfkkmkngdoccbadn
f:id:furuya02:20150405104314p:plain
(5)インストールが完了すると、「chrome://extensions」で利用可能になります。
f:id:furuya02:20150405104320p:plain
(6)初回起動時に、作業ディレクトリの指定があるので、適当なフォルダを指定します。
f:id:furuya02:20150405104325p:plain:w200
(7)「Add your APK」で、Releaseビルドの証明書がある方を選択します。(App1/App1.Droid/bin/Release/App1.Droid-Signed.apk)
f:id:furuya02:20150405104332p:plain
(8)Orientationで「Portrait」、Form Factorで「Phone」を選択して「Launch App」を押します。
f:id:furuya02:20150405104339p:plain
(9)起動が確認できます。
f:id:furuya02:20150405104346p:plain
(10)「Launch App」で成功したアプリは、「拡張機能」の一覧に入り、次からは、ここから起動できます。
f:id:furuya02:20150405104351p:plain


Xamarin.Forms.Maps

試しに、Xamarin.Forms.Mapsを起動してみましたが、「Play開発者サービスの入手」をクリックするとクラッシュしましたw
f:id:furuya02:20150405104958p:plain:w200

【 Xamarin 記事一覧 】