Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android バインド ライブラリ

199 views

Published on

Xamarin でもっと ARCore を試したい

Published in: Software
  • Be the first to comment

  • Be the first to like this

Android バインド ライブラリ

  1. 1. / 31 Android バインド ライブラリ ~Xamarin でもっと ARCore を試したい~ 1 城東.NET #35 2019年08月21日 石崎 充良
  2. 2. / 31 自己紹介 石崎 充良 ( @mishi_cs ) Microsoft MVP for Developer Technologies 言語: C# XAML 活動: ・C# もくもく会 (connpass) ・C# Tokyo (connpass) 2
  3. 3. / 31 前回の ARCore 3
  4. 4. / 31 Pixel 3a 4
  5. 5. / 31 Pixel 3a Qualcomm® Snapdragon™ 670 ¥48,600~ 言わずと知れた Google Pixel シリーズ。 ミッドレンジでお買い求め易い価格帯に。 5https://store.google.com/jp/config/pixel_3a
  6. 6. / 31 Supported Devices 6https://developers.google.com/ar/discover/supported-devices
  7. 7. / 31 Sample 7
  8. 8. / 31 Google – ビルドして実行するだけ 8https://github.com/google-ar/sceneform-android-sdk/tree/master/samples
  9. 9. / 31 Demo 9
  10. 10. / 31 dependencies 10https://developers.google.com/ar/develop/java/quickstart
  11. 11. / 31 Xamarin.Android 11
  12. 12. / 31 公式 12https://devblogs.microsoft.com/xamarin/augmented-reality-xamarin-android-arcore/
  13. 13. / 31 Sample – 動かない 13https://github.com/xamarin/XamarinComponents/tree/master/Android/ARCore/samples
  14. 14. / 31 追加 -- NuGet パッケージ Xamarin.Google.ARCore -- aar https://dl.google.com/dl/android/maven2/com/google/ar/core/1.0.0/core- 1.0.0.aar -- jar https://oss.sonatype.org/content/repositories/releases/de/javagl/obj/0.3.0/obj -0.3.0.jar 14https://github.com/xamarin/XamarinComponents/blob/master/Android/ARCore/build.cake
  15. 15. / 31 今回の ARCore 15
  16. 16. / 31 dependencies 16https://developers.google.com/ar/develop/java/quickstart これらのライブラリを Xamarin.Android で使えるようにする
  17. 17. / 31 Android バインド ライブラリ 17
  18. 18. / 31 新しいプロジェクトの作成 18
  19. 19. / 31 Android のライブラリの追加 19 .jar の場合は EmbeddedJar .aar の場合は LibraryProjectZip
  20. 20. / 31 自作ライブラリで お試し 20
  21. 21. / 31 Java クラス例 21 実行例
  22. 22. / 31 Tips • Visual Studio 上で (オブジェクト ブラウザーや他プロジェ クトから) 居るはずの API が見えない場合 22 ライブラリ プロジェクトを アンロード > 再読み込み
  23. 23. / 31 実際に 23
  24. 24. / 31 Xamarin.Android プロジェクト 24 Java のコードを C# に書き換え ライブラリを参照して いないので クラスが無いエラー
  25. 25. / 31 ライブラリ プロジェクトを作成 25 エラーでビルド失敗 .aar ライブラリを追加してビルド。。。
  26. 26. / 31 エラー内容の確認 objDebuggeneratedsrc に .cs ファイルがいるので 直接開くという方法も ※本来どうあるべきかは、Java コードも参考に 26 エラーをダブルクリックで開く、はず ※大抵開かない (体感)
  27. 27. / 31 生成される C# を調整 • docs.Microsoft.com の 「Java バインド メタデータ - Xamarin」 • objDebugapi.xml を参考に TransformsMetadata.xml で設定。使わない API なら remove-node で消すのが早い。使いたい API がエラーだとツライ 27https://docs.microsoft.com/ja-jp/xamarin/android/platform/binding-java-library/customizing-bindings/java-bindings-metadata
  28. 28. / 31 欲しかったクラスが生まれない 依存するクラスが認識できていないと API が生まれない。 • 別のライブラリも バインド ライブラリを作成する • NuGet 参照等 ライブラリの追加、 TransformsMetadata.xml の設定を繰 り返し、繰り返し、繰り返し。 28 エラーはいくつもパターンがある
  29. 29. / 31 繰り返し頑張ると 29
  30. 30. / 31 まとめ 30
  31. 31. / 31 まとめ • ARCore のサンプルも Android バイン ドライブラリで OK 31
  32. 32. / 31 ありがとうございました。 32

×