Android Studioの更新でSDK Managerが起動しなくなったら
Android Studio
と Xamarin
やUnity
で共通のAndroid SDK
を使っている場合、
SDK Manager
やAVD Manager
を単体で起動するケースがよくあります。
自分の場合、Android Studio
のバージョンを更新したときに、同時にAndroid SDK
のバージョンも更新して、AVD Manager
が起動しなくなってしまいました。
尚、ggってよくお勧めされる、JavaのPathとバージョンが合ってないのでfind_java.bat
に固定値ぶち込むみたいな腑抜けた対応は近年は不要です。
自分の場合
結論として、SDK tools
が壊れていた(or バージョンが遅れていた?)ので、コマンドラインツール
をダウンロードし、Android SDK
のtools
フォルダを置き換えてやることで動作しました。
https://developer.android.com/studio/index.html?hl=ja
一般的対処How to
RPGツクールMVの Milkcocoaプラグインを更新しました
フラグ関係のみ、データ保存の永続化に対応しました。
使い方は、GitHub参照のこと。 https://github.com/m2wasabi/milkcocoa-rpgmv-plugin#43-永続スイッチ変数の操作new
デバッグ足りなそうなので不具合あったら教えてください。
Xamarin入門者の集い #2でLT発表しました
4月17日に行われた『初心者歓迎XamarinのLT会!Xamarin入門者の集い #2』で、 初心者LT枠として発表してきました。
タイトルは 『Xamarin.Formsのための基礎体力づくり(圧縮版)』です。 丁寧に説明していると到底5分で収まりきらない内容ですが、 読み物としてお楽しみください。
懇親会の時に聞かれた内容
- Q. 勉強の期間はどのぐらいか
- A. 勉強のみしていた期間は約1か月。あとは作りながら覚えた。まだ完璧ではない。
- Q. プロジェクトを受注する前から勉強したのか、受注してから勉強したのか
- A. C#基礎は受注前から勉強していた。でも具体的な使い方を学んだのは受注が決まってから
- Q. Xamarinの案件なんて見つからない
- A. ふわっとしたモバイルアプリの案件をXamarinでやるんだよ。自分色に染めろ!
これで、仕事や趣味でXamarin(.Forms)を使ってアプリを出す人が増えれば幸いです。
Xamarin.Forms の ListView内で可変数個の画像オブジェクトを表示する
はじめに
TwitterなどのSNSのタイムラインをXamarin.Formsを使って表示したいとき、
ListViewの中で可変数個の画像ファイルを表示する必要があります。
方法は色々ありそうですが、
今回は画像表示用のカスタムビューを定義することによりシンプルに実装しました。
本記事の価値はCustomViewのソースに集約されているので、
「説明不要、ソースくれ!」という方は以下のリンクからお持ち帰りください。
ImageListView for Xamarin.Forms · GitHub
目次
- はじめに
- 目次
- 実装
- モデルの定義
- カスタムビューの実装
- ビューの実装
- ビューモデルの実装
- 完成図(API周りの実装は省略するけど)
- まとめ
- 参考記事
EditorConfigに対応したVisualStudio2017でコーディングルールを共有する
VisualStudio2017で新たに、EditorConfigファイルへ対応したらしいので、さっそく試してみました。
使い方は、ソリューションのルートディレクトリに .editorconfig
ファイルを置くだけです。
.editorconfigファイルの記法の詳細は、EditorConfigのWebサイトにて確認できます。
また、このファイルをGitで共有すると、他の人がソースを編集する場合にも、特に意識せずに、 改行、タブ、インデント等のコーディング規約を共有できます。
VisualStudioでプロジェクト単位の改行コードの制御ができるようになったのが大きな進歩です!
私がXamarin.Formsのプロジェクトで使っている設定はシンプルですが以下のようなものです。
[*] end_of_line = lf insert_final_newline = true [*.xaml] indent_style = space indent_size = 2
健全な理性を持つエンジニア諸氏は、これからはインデントガーって騒ぐ前にInitialCommitに .editorconfig仕込むようにしましょう。
ネタ元
昨日Visual Studio 2017 リリース記念勉強会に行ってきました。 csugjp.connpass.com
その中で、かずきさん id:okazuki のセッションにて、VisualStudio2017の新機能についてピックアップで紹介されました。
HoloLensアプリをローカルで配布する方法
はじめに
開発中のアプリや、内輪向けのアプリを配布する場合、
自作のUWPパッケージを作成し、各人の HoloLens の Device Portal からインストールすることになります。
一度パッケージを作成してしまえば、VisualStudioを持ってない人のHoloLensにも、自作のアプリをインストールできます。
本稿では、自作UWPパッケージの配布・インストール方法を説明します。
パッケージを作る方法
VisualStudioへのエクスポート
UnityからUWPプロジェクトをエクスポートします。
詳細な方法は、Microsoft公式の Holographic Academy の記事が間違いないです。
英語とは言え、さほど難しくないです。
https://developer.microsoft.com/en-us/windows/holographic/holograms_100
VisualStudioでのビルド
Holographic Academy の記事に従って進めれば、ビルドと、
VisualStudioからのデプロイまで行います。
一度ビルドが成功した状態で、パッケージの作成を行います。
VisualStudioのメニューから、プロジェクト(P)
→ ストア(S)
→ アプリ パッケージの作成(P)
を選択します。
今回は、ローカルで配布するので、署名などはスキップして大丈夫です。
アプリケーションバンドルの生成(B)
は、「常に行う」を選択しましょう。
それにより、依存関係にあるファイルをパッケージの中にまとめてくれます。
HoloLensは x86アーキテクチャなので、不要なアーキテクチャのチェックを外します。
PDB symbol files
は、デバッグしない場合には不要です。今回は単純に配布したいだけなので外します。
最後に、 作成(R)
を押すと、アプリをビルドします。
ビルドが終わると、Windowsストアのアプリ認定チェックを聞いてきますが、今回はストアに公開しないので、そのまま閉じます。
ビルドが完了したファイル構成は、以下の様になります。
さらにDependencies\アーキテクチャ
ディレクトリの下に関連するパッケージが生成されます。
この中で、配布に必要なものは、アプリケーション名_バージョン名_アーキテクチャ.appxbundle
ファイルと、
Dependencies\アーキテクチャ
以下のパッケージです。
Device Portalからアプリをインストールする
Device Portalに接続し、App Managerからインストールします。
アプリ本体とDependencyをまとめて登録し、Deployします。
※Device Portalへの繋ぎ方は、Microsoftの公式ドキュメントを参照しましょう。
https://docs.microsoft.com/ja-jp/windows/uwp/debug-test-perf/device-portal-hololens
まとめ
HoloLensアプリを作成して、ローカルで配布する方法を紹介しました。
個人的に嵌ったポイントは、パッケージの作成メニューを探してしまったこと、
アプリケーションバンドルの生成を行うこと、でしょうか。
これを使うと、ローカルネットワークで適当なサーバ立ててSharingしたアプリで遊べますね。
それでは、良いHoloLifeを。
Xamarin.FormsのAndroidアプリでDebug実行時エラーが出る問題(対処のみ)
Xamarinを使ったアプリ開発で、
まっこと初見殺しな実行時エラー事案にぶつかったので、
対処法とかを共有します。
起こった事象
開発中に System.NullReferenceException エラーに襲われる
調査するもソースコードにエラーは見つからず、
ビルドしてDebugを実施、デプロイに成功するも実行時に System.NullReferenceException
で落ちる。
Releaseビルドだと正常に動く。
結論
デバッグライブラリを消せば動く
解決方法
以下のいずれか
@m2wasabi 続き)全部削除するか、エミュレーターだったらイメージ作り直すかするのが手っ取り早いかもしれません。デバッグ用アプリがXamarin(Android?)のバージョンで頻繁に変更され、古いものが入っているとデバックできなくなる事が良くあります
— nuits.jp (@nuits_jp) 2017年2月16日
原因
残念ながら原因の特定には至っていません。
あるビルドから突然 Android用プロジェクトの MainActivity.cs
で base.Oncreate
が認識しなくなり、
対応策としてIDEの指示に従って csproj に変更を加えたあたりが怪しいですが、
再現性が無いので難しいところです。
現象としては、SDKのバージョンが変わった場合の挙動と同じようです。
手掛かりなしで手元のソースを漁ったお陰で Xamarin.Forms のソースけっこう追いかけました。
泥臭い知識としては役に立つと思われますが、問題解決の視点では徒労でした…(´・ω・`)
Xamarinを使った開発で、実行時エラーによく遭うのですが、 その時の対処法100選の一つにでも。
ネタ元
Twitterのモーメントに上げました。 twitter.com
問題の解決に際し @nuits_jp さんをはじめ JXUGの皆様にとても助けられました。
ありがとうございました。