« 2016年9月 | トップページ | 2016年11月 »

2016年10月

2016年10月23日 (日)

VSTSでビルドしたXamarin.Androidアプリが起動しないとき

Visual Studio Team Services(VSTS)でXamarinの自動ビルドとかHockeyAppとかについて確認しているところですが、すぐにまとめられるネタが出てきたのでちょっと公開します。
(今回のネタはAndroidですが、りんごさん系は全くの初心者なこともあり、ハマリ続けてます(;´Д`))

Xamarinで簡単なアプリを作成して、とりあえずVisual StudioからAndroidエミュレータでちゃんと動くことを確認。→VSTSのビルド定義でビルド成功まで確認。→HockeyApp経由でアプリをインストールして起動したところ、一瞬画面が生成されたあとにアプリが終了。
再度エミュレータで実行してもちゃんと動作するし、VSから実機デバッグしても動作するという状態。Xamarin初心者(というか、スマホアプリ初心者)なのに・・・と頭を抱えてましたが、「Android Device Monitor」という便利な機能に出会いました。
トレース情報や、Thread/Heap/ネットワーク状態/システム情報/ファイル一覧などいろんな情報が確認できるデバッグツールなのですが、自分はエミュレータだけで動作するものだと思い込んでましたが、実機に対しても使えるツールです。

とりあえず、Device Montorを起動して、HockeyApp経由でインストールしたアプリを実機で実行してみました。 ※画面下側にトレースログが出力されるのですが、システム全体の情報が出力されるので、青枠のところにフィルタする単語(アプリ名とか)を入れないと収拾がつきません。
001

すると、赤い文字でこんな怪しいログが・・・。
Assembly 'assemblies/[アプリ名].dll' is located at a bad address 0xa16f6bb7

どうも、DLLをローデングするアドレスの調整がうまくできてないようです。「こんなの初心者の領域を完全に超えてるよ・・・」と思いながら、インターネット様のお力をお借りすると、「VSTSでのビルド時に、zipalignを有効にすればいい」とのこと。
VSTSのビルド定義で、APKファイルへの証明書埋め込みタスクで「Zipalign Option」枠に「Zipalign」があるので、有効にしてビルドを再実行です。
002

・・・今度はビルドがエラーに(;´Д`)
003
(ログ出力が化けてるのはご愛嬌ということで)

「ANDROID_HOME」が定義されていないということなので、環境変数にandroid sdkへのパス(64bitOSのデフォルトだと「C:\Program Files (x86)\Android\android-sdk」)をセットして、VSTSのビルドエージェントを再起動(※コマンドプロンプトから起動している場合は、コマンドプロンプト自身も再起動しないと、変更した環境変数が反映されません)して、ビルドを再実行です。

・・・同じエラーが(;´Д`)
もう一度インターネット様のお力をお借りすると、「PATHに%ANDROID_HOME%\toolsが設定されていないとだめだよ」とのこと。「エラーメッセージおかしい!」と思いながらPATHに追加して、ビルドエージェント再起動→ビルド再実行すると、ようやく正常にビルド完了。
実機にインストールして起動すると、ちゃんと実行できるようになりました。

Xamarin.iOSでもいろいろハマってるので、後でVSTS+Xamarin+HockeyApp全体を通した環境構築の概要とかをまとめてみたいなと思います。(ハマってるところが解決できるのがいつになるかが怪しいので、まとめられる時期も不明です(;´Д`))

CLR/H in Tokyoに参加してきました

2016/10/22に開催された、CLR/H in Tokyoに参加してきました。

今回も?主催者の無茶ぶりで朝一の受付とLTに登壇することにw

当日はDevルームにいました。
〇PowerBIの開発ネタ
 2nd Factoryの清水さんのセッションです。受付してましたので途中参加となりましたが、あまりPowerBIの開発側って聞くことがないので、とても参考になりました。あと、最後に紹介されていた、VRでの事務所紹介デモのクオリティは圧巻でした(スライドに乗ってた会社ロゴのスナップショットは、ほんとに実物を撮ったものと思ってました)。

〇C# 7 Current Status
 xin9leさんによる次期C#の新機能についてでした。プロジェクトが砂嵐になるアクシデントからでしたが、内容は実際のソース付の解説でC#初心者の自分でもよく分かりました。(搭載される新機能の一部は「ここまでするか?w」的なものもありました)

〇Node.jsで画像合成+サイネージコンテンツ制作よもやま話(仮)
 ここで、ちょまどさんの不慮の事態wで、発表順変更であんどーさんのセッションに。
 ほんとのタイトルは忘れたことにしておいてw、内容はSIer社畜の自分でもシステムアーキテクチャについて一考させられる内容でした。いろんな技術に関心を持たないと。

〇おやつタイム and LT
 自分はお試し途中だったのですが、「Xamarin+VSVS+HockeyAppで実機確認までできるよ」ってことをお話させていただきました。資料はDocs.comに置いてますが、内容はほとんどありません。(;´Д`) もう少しでまとめられそうなので、手順やはまったポイントのまとめはもう少しお待ちください。(今もハマってる最終です(;´Д`)(;´Д`))

〇Genius Halloween World.
 安定のジニアス平井さんです。音声認識とかBot FrameworkとかCognitiveSercviceとかのデモ満載でした。

〇Xamarin + Azure
 ここでちょまどさん登壇です。XamarinとMobile App Serviceがどれだけ簡単に使えるかについてでした。たしかに、今のスマホアプリはいろいろなサービスを組み合わせる必要があるので、まとまってるMobile App Serviceは便利です。Tech Summitに参加される方は、ブラッシュアップ版が聞けるのでお楽しみに。

〇カンバンとDevOpsと555
 仮面ライダーエバの長沢さんによる、変身ベルトがセッション内容の一部を喋るという、さすが仮面ライダーエバ(重要なので2回言いましたw)。内容はカンバン要素多数で「DevOps」とかいうバスワードwを使わずに、どう現場の改善を進めていくかについてでした。

最後のお片付け中に、「アジャイルでやってみた」本を3冊ほどご提供させていただきました。受け取っていただいた方や、既に購入いただいた方、Amazonのレビュー/ブログ/Twitterなど、何でも構いませんので感想をお願いします。<(_ _)>

« 2016年9月 | トップページ | 2016年11月 »

無料ブログはココログ