今回はXamarinでAndroid用のライブラリを使えるようにnative bindingする方法についてです。
今回はJavaのライブラリで拡張子が.aar形式もしくは.jarのライブラリをネイティブバインドして、XamarinFormsのプロジェクトで使用できるようにする方法について解説します。
1.まずXamarinFormsのプロジェクトを新規で作成します。ここの説明は省略します。
2.プロジェクトを作成したら同じソリューション内にjavaのライブラリをバインドする用のプロジェクトを作成します。
ソリューションを右クリックし追加>新しいプロジェクト を選択
3.テンプレートを Android > ライブラリ > バインディングライブラリ を選択し、次へを押す
4.プロジェクト名を入力(今回はBindingLibraryという名前にしました)し、作成を押す
5.ソリューションにプロジェクトが追加されます。
6.追加されたバインディング用のプロジェクトのJarsを右クリックし、追加 > 既存のファイルを選択
7.バインドしたいライブラリのaarファイルかjarファイルを選択します
8.Jarsフォルダ内にライブラリファイルが追加されたらそのファイルを右クリックしビルドアクションを選択。aarファイルの場合は「LibraryProjectZip」、jarファイルの場合は「EmbeddedJar」を選択します。
9.Debugモードに設定し、プロジェクトを右クリックしビルド行います
10.Releaseモードに変更し、プロジェクトを右クリックしビルドを行います(Releaseで使わない場合はこちらの手順は省いてOKです)
11.ビルドに成功したら、Androidプロジェクトの方でライブラリを使う設定を行います
12.Androidプロジェクト内の参照を右クリックし、参照の追加を押します
13.「プロジェクト」のタブを押すと、作成してあるバインド用のプロジェクトがあるので、それを選択しOKを押します
14.参照の中にバインド用のプロジェクトが追加されているのを確認してください
15.参照の中に追加されたバインド用のプロジェクトをダブルクリックするとアセンブリが確認できるので、namespace等はこれで確認ができます
16.これでAndroidプロジェクト内でライブラリが使用できるようになります。実際にusingなどでアセンブリの確認した際に表示されていたnamespaceが指定できるようになっています。もし指定できなかったり予測変換で表示されない場合はAndroidプロジェクトをビルドしなおしたり、VisualStudioを再起動したりしてみてください。