Share via


Android Kotlin ライブラリをバインドする

重要

現在、Xamarin プラットフォームでのカスタム バインディングの使用を調査しています。 今後の開発作業の発展のために、このアンケートにご回答ください。

Android プラットフォームは、そのネイティブ言語とツールと共に常に進化しており、最新のオファリングを使用して開発されたサード パーティ製のライブラリが多数あります。 コードとコンポーネントを再利用して最大限に活用することは、クロスプラットフォーム開発の主な目標の 1 つです。 Kotlin でビルドされたコンポーネントを再利用する機能は、開発者の間で人気が高まり続けているため、Xamarin 開発者にとってますます重要になっています。 お客様は、通常の Java ライブラリをバインドするプロセスについて、既に理解されているかもしれません。 Kotlin ライブラリをバインドするプロセスについて説明する追加のドキュメントを利用できるようになったため、Xamarin アプリケーションでも同じ方法で使用できます。 このドキュメントの目的は、Xamarin 用の Kotlin バインドを作成するための上位レベルのアプローチについて説明することです。

上位レベルのアプローチ

Xamarin を使用すると、任意のサード パーティ製のネイティブ ライブラリを、Xamarin アプリケーションで使用できるようにバインドできます。 Kotlin は新しい言語であり、この言語でビルドされたライブラリに対してバインドを作成するには、いくつかの追加の手順とツールが必要です。 このアプローチには、次の 4 つの手順が含まれます。

  1. ネイティブ ライブラリをビルドする
  2. Xamarin メタデータを準備する。これにより、Xamarin ツールで C# クラスを生成できるようになります
  3. ネイティブ ライブラリとメタデータを使用して Xamarin バインド ライブラリをビルドする
  4. Xamarin アプリケーションで Xamarin バインド ライブラリを使用する

以下のセクションでは、これらの手順の概要を追加の詳細情報と共に説明します。

ネイティブ ライブラリをビルドする

最初の手順は、ネイティブ Kotlin ライブラリ (Android アーカイブである AAR パッケージ) を取得することです。 ベンダーから直接要求するか、自分でビルドするかのいずれかを行うことができます。

Xamarin メタデータを準備する

2 番目の手順では、メタデータ変換ファイルを準備します。これは、それぞれの C# クラスを生成するために Xamarin ツールによって使用されます。 最適なケース シナリオでは、すべてのクラスが Xamarin ツールによって検出および生成される場合、このファイルは空になる可能性があります。 場合によっては、正しいコードまたは目的の C# コード、あるいは両方を生成するために、メタデータ変換を適用する必要があります。 多くの場合、Java デコンパイラ (JD) などの AAR 逆アセンブラーを使用して、生成される C# クラスの最終的なリストから除外する、非表示の依存関係や不要なクラスを識別する必要があります。 最終的なメタデータは、参照する Xamarin.Android アプリケーションがやりとりするパブリック インターフェイスを表す必要があります。

Xamarin.Android バインド ライブラリをビルドする

3 番目の手順では、特別なプロジェクトを作成します (Xamarin.Android バインド ライブラリ)。 これには、ネイティブ参照としての Kotlin ライブラリと、前の手順で定義したメタデータ変換が含まれます。 作成時には、参照する AAR パッケージごとに、個別の Android バインド ライブラリ プロジェクトが必要です。 バインド ライブラリでは、Kotlin 標準ライブラリをサポートするために、Xamarin.Kotlin.StdLib パッケージを追加する必要があります。

Xamarin バインド ライブラリを使用する

4 番目の最後の手順は、Xamarin.Android アプリケーションでバインド ライブラリを参照することです。 Xamarin.Android バインド ライブラリへの参照を追加すると、Xamarin アプリケーションで、公開されている Kotlin クラスをそのパッケージ内から使用できるようになります。

チュートリアル

上記のアプローチでは、Xamarin 用の Kotlin バインドを作成するために必要な手順の概要について説明しています。 これらのバインドを実際に準備する際には、ネイティブのツールと言語の変更に合わせるなど、多くの下位レベルの手順が必要になり、さらに詳細な考慮事項があります。 ここでの目的は、この概念と、このプロセスに関連する手順の概要をより深く理解できるようにすることです。 詳細なステップ バイ ステップ ガイドについては、Xamarin Kotlin バインドのチュートリアルに関するドキュメントを参照してください。