次の方法で共有


MSBuild アイテムのプロジェクトバインド

.NET for Android では、技術的にはアプリケーションとバインド プロジェクトの違いがないため、これらの項目は両方で機能します。 実際には、個別のアプリケーション プロジェクトとバインド プロジェクトを作成することを強くお勧めします。 主にアプリケーション プロジェクトで使用されるビルド項目については、 MSBuild 項目 リファレンス ガイドを参照してください。

ビルドアイテム

アイテム 説明
AndroidAdditionalJavaManifest
.NET 9 で追加
Java の依存関係を確認するために必要な追加の POM ファイルを表します。

ドキュメント
AndroidIgnoredJavaDependency
.NET 9 で追加
Java 依存関係を検証するときに無視する必要がある Java 依存関係を表します。

ドキュメント
AndroidJavaSource コンパイルしてプロジェクトに含める必要がある Java ソース ファイル (.java) を表します。

ドキュメント
AndroidLibrary バインド プロジェクトによってバインドされる .jar/.aar ファイルを表します。

ドキュメント
AndroidMavenLibrary
.NET 9 で追加
Maven リポジトリからダウンロードし、バインド プロジェクトによってバインドする必要がある .jar/.aar ファイルを表します。

ドキュメント
AndroidNamespaceReplacement 結果として得られるマネージド名前空間が .NET 規則により適合するように、Java パッケージ名に適用する必要がある変換を表します。

ドキュメント
JavaSourceJar API ドキュメントのインポート元となる Java ソース コード.jar を表します。

ドキュメント

非推奨のビルド項目

これらの MSBuild 項目は非推奨になりました。 これらは引き続き機能しますが、一覧表示されている新しい項目に移行することをお勧めします。

アイテム 説明
AndroidAarLibrary
"非推奨"
プロジェクト出力に含める Android .aar ファイルを表します。

ドキュメント
AndroidJavaLibrary
"非推奨"
プロジェクト出力に含める Android .jar ファイルを表します。

ドキュメント
EmbeddedJar
"非推奨"
バインドされ、プロジェクト出力に含まれる Android .jar ファイルを表します。

ドキュメント
EmbeddedReferenceJar
"非推奨"
プロジェクト出力に含める Android .jar ファイルを表します。

ドキュメント
LibraryProjectZip
"非推奨"
プロジェクト出力に含める Android .aar ファイルを表します。

ドキュメント

AndroidAarLibrary

このビルド項目は非推奨となり、 AndroidLibrary 項目に置き換えられます。

<!-- Deprecated -->
<AndroidAarLibrary Include="mylib.aar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />

AndroidAarLibrary ファイルを直接参照するには、.aar のビルド アクションを使用する必要があります。 このビルド アクションは、Xamarin コンポーネントで最もよく使用されます。 つまり、Google Play やその他のサービスを動作させるために必要な .aar ファイルへの参照を含めるためです。

このビルド アクションを使用するファイルは、ライブラリ プロジェクトで見つかる埋め込みリソースと同様に扱われます。 .aar は、中間ディレクトリに抽出されます。 次に、すべてのアセット、リソース、.jar ファイルが、適切な項目グループに含まれます。

Android追加Javaマニフェスト

<AndroidAdditionalJavaManifest> は、 Java 依存関係解決と組み合わせて使用されます。

依存関係を検証するために必要な追加の POM ファイルを指定するために使用されます。 これらは、多くの場合、Java ライブラリの POM ファイルによって参照される親またはインポートされた POM ファイルです。

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
項目メタデータの名前 説明
JavaArtifact 必須の文字列。 指定された POM ファイルと一致する Java ライブラリのグループ ID と成果物 ID {GroupId}:{ArtifactId}
JavaVersion 必須の文字列。 指定した POM ファイルに一致する Java ライブラリのバージョン。

詳細については、 Java 依存関係解決のドキュメント を参照してください。

このビルド項目のサポートは、.NET 9 で導入されました。

AndroidIgnoredJavaDependency

<AndroidIgnoredJavaDependency> は、 Java 依存関係解決と組み合わせて使用されます。

これは、無視する必要がある Java 依存関係を指定するために使用されます。 これは、Java の依存関係解決で検出できない方法で依存関係が満たされる場合に使用できます。

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
項目メタデータの名前 説明
バージョン 必須の文字列。 指定した依存関係に一致する Java ライブラリのバージョン。

詳細については、 Java 依存関係解決のドキュメント を参照してください。

このビルド項目のサポートは、.NET 9 で導入されました。

AndroidJavaLibrary

このビルド項目は非推奨となり、 AndroidLibrary 項目に置き換えられます。

<!-- Deprecated -->
<AndroidJavaLibrary Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />

AndroidJavaLibrary のビルド アクションを持つファイルは、最終的な Android パッケージに含まれる Java アーカイブ (.jar ファイル) です。

AndroidJavaSource

AndroidJavaSource ファイルは、コンパイルされ、最終的な Android パッケージに含まれる Java ソース コードです。

.NET 7 以降では、プロジェクト ディレクトリ内のすべての **\*.java ファイルが AndroidJavaSource のビルド アクションを持ち、かつ Assembly ビルドの前にバインドされます。 **\*.java ファイル内に存在する型とメンバーを、C# コードが簡単に使用できるようにします。

項目メタデータの名前 説明
バインド 省略可能なブール値。 Java ソース ファイルに対して C# バインドを生成するかどうかを指定します。 既定値は true です。

このビルド項目のサポートは、.NET 7 で導入されました。

AndroidLibrary

バインドしてプロジェクトに含める .jar/.aar ファイルを表します。

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
項目メタデータの名前 説明
バインド 省略可能なブール値。 Java ライブラリに対して C# バインドを生成するかどうかを指定します。 既定値は true です。
パック 省略可能なブール値。 Java ライブラリをプロジェクト出力に含めるかどうかを指定します。 既定値は true です。

AndroidMavenLibrary

Maven リポジトリからダウンロードし、バインド プロジェクトによってバインドする必要がある .jar/.aar ファイルを表します。

これは、Maven でホストされている成果物の Android バインド用の .NET のメンテナンスを簡略化するのに役立ちます。

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
項目メタデータの名前 説明
バージョン 必須の文字列。 Maven からダウンロードする必要がある Java ライブラリのバージョン。 既定値は true です。
リポジトリ 省略可能な文字列。 使用する Maven リポジトリを指定します。 サポートされている値は、Maven リポジトリへの CentralGoogle、または https URL です。 既定値は Central です。
バインド 省略可能なブール値。 Java ライブラリに対して C# バインドを生成するかどうかを指定します。 既定値は true です。
パック 省略可能なブール値。 Java ライブラリをプロジェクト出力に含めるかどうかを指定します。 既定値は true です。

詳細については、 AndroidMavenLibrary のドキュメント を参照してください。

このビルド項目のサポートは、.NET 9 で導入されました。

EmbeddedJar

このビルド項目は非推奨となり、 AndroidLibrary 項目に置き換えられます。

<!-- Deprecated -->
<EmbeddedJar Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />

.NET for Android バインド プロジェクトでは、 EmbeddedJar ビルド アクションによって Java/Kotlin ライブラリがバインドされ、 .jar ファイルがライブラリに埋め込まれます。 .NET for Android アプリケーション プロジェクトがライブラリを使用すると、C# から Java/Kotlin API にアクセスできるほか、最終的な Android アプリケーションに Java/Kotlin コードを含めることができます。

EmbeddedReferenceJar

このビルド項目は非推奨となり、 AndroidLibrary 項目に置き換えられ、 Bind メタデータが falseに設定されます。

<!-- Deprecated -->
<EmbeddedReferenceJar Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" Bind="false" />

.NET for Android バインド プロジェクトでは、 EmbeddedReferenceJar ビルド アクションによって .jar ファイルがライブラリに埋め込まれますが、 EmbeddedJar のように C# バインドは作成されません 。 .NET for Android アプリケーション プロジェクトがライブラリを使用すると、最終的な Android アプリケーションに Java/Kotlin コードが含まれます。

JavaSourceJar

API ドキュメントのインポート元の Javadoc ドキュメント コメント含む Java source コード.jarを表します。

Javadoc は、生成されたバインディング ソース コード内で C# XML ドキュメント コメント に変換されます。

インポートされた Javadoc の "verbose" または "complete" の程度は、$(AndroidJavadocVerbosity) によって制御されます。

項目メタデータの名前 説明
著作権ファイル 省略可能な文字列。 インポートされたすべてのドキュメントに追加される Javadoc コンテンツの著作権情報を含むファイルへのパス。
UrlPrefix 省略可能な文字列。 インポートされたドキュメント内のオンライン ドキュメントへのリンクをサポートする URL プレフィックス。
UrlStyle 省略可能な文字列。 オンライン ドキュメントにリンクするときに生成する URL の "スタイル" です。 現在サポートされているスタイルは、developer.android.com/reference@2020-Nov の 1 つだけです。
DocRootUrl 省略可能な文字列。 インポートされたドキュメント内のすべての {@docroot} インスタンスの代わりに使用する URL プレフィックス。

LibraryProjectZip

このビルド項目は非推奨となり、 AndroidLibrary ビルド項目に置き換えられます。

<!-- Deprecated -->
<LibraryProjectZip Include="mylib.aar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />

LibraryProjectZip ビルド アクションは、Java/Kotlin ライブラリをバインドし、.zipまたは.aar ファイルをライブラリに埋め込みます。 .NET for Android アプリケーション プロジェクトがライブラリを使用すると、C# から Java/Kotlin API にアクセスできるほか、最終的な Android アプリケーションに Java/Kotlin コードを含めることができます。