Vytváření vazeb projektů s položkami NÁSTROJE MSBuild

Poznámka:

V .NET pro Android není technicky žádný rozdíl mezi aplikací a projekt vazby, takže tyto položky budou fungovat v obou. V praxi se důrazně doporučuje vytvářet samostatné projekty aplikací a vazeb. Položky sestavení, které se primárně používají v projektech aplikací, jsou zdokumentované v referenční příručce k položkám MSBuild.

Sestavovací položky

Položka Description
AndroidAdditionalJavaManifest
Přidáno v .NET 9
Představuje další soubory POM potřebné k ověření závislostí Javy.

Dokumentace
AndroidIgnoredJavaDependency
Přidáno v .NET 9
Představuje závislosti Javy, které by se měly při ověřování závislosti v Javě ignorovat.

Dokumentace
AndroidJavaSource Představuje zdrojové soubory Java (.java), které by se měly zkompilovat a zahrnout do projektu.

Dokumentace
AndroidLibrary .jar / .aar Představuje soubor, který má být vázán projektem vazeb.

Dokumentace
AndroidMavenLibrary
Přidáno v .NET 9
.jar / .aar Představuje soubor, který by se měl stáhnout z úložiště Maven a který je vázán projektem vazeb.

Dokumentace
AndroidNamespaceReplacement Představuje transformaci, která by se měla použít na název balíčku Java, aby výsledný spravovaný obor názvů lépe vyhovoval konvencím .NET.

Dokumentace
JavaSourceJar Představuje zdrojový kód.jar Javy, ze kterého by se měla importovat dokumentace k rozhraní API.

Dokumentace

Zastaralé položky sestavení

Tyto položky nástroje MSBuild jsou zastaralé. I když budou dál fungovat, doporučujeme migrovat na uvedené novější položky.

Položka Description
AndroidAarLibrary
Zastaralé
Představuje soubor Androidu .aar , který se má zahrnout do výstupu projektu.

Dokumentace
AndroidJavaLibrary
Zastaralé
Představuje soubor Androidu .jar , který se má zahrnout do výstupu projektu.

Dokumentace
EmbeddedJar
Zastaralé
Představuje soubor Androidu .jar , který se má svázat a zahrnout do výstupu projektu.

Dokumentace
EmbeddedReferenceJar
Zastaralé
Představuje soubor Androidu .jar , který se má zahrnout do výstupu projektu.

Dokumentace
LibraryProjectZip
Zastaralé
Představuje soubor Androidu .aar , který se má zahrnout do výstupu projektu.

Dokumentace

AndroidAarLibrary

Tato položka sestavení je zastaralá a nahrazuje se položkou AndroidLibrary .

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

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

Akce AndroidAarLibrary sestavení by se měla použít k přímému odkazování .aar na soubory. Tato akce sestavení bude nejčastěji používána komponentami Xamarin. Konkrétně zahrnout odkazy na .aar soubory, které jsou nutné k tomu, aby Google Play a další služby fungovaly.

Soubory s touto akcí sestavení budou zpracovány podobným způsobem jako vložené prostředky nalezené v knihovních projektech. Extrahuje .aar se do zprostředkujícího adresáře. Pak se jakákoli aktiva, prostředky a .jar soubory zahrnou do příslušných skupin položek.

Android Další Java Manifest

<AndroidAdditionalJavaManifest> se používá ve spojení s řešením závislostí Java.

Slouží k určení dalších souborů POM, které budou potřeba k ověření závislostí. Často se jedná o nadřazené nebo importované soubory POM, na které odkazuje soubor POM knihovny Java.

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Název metadat položky Description
JavaArtifact Požadovaný řetězec Skupina a ID artefaktu knihovny Java odpovídající specifikovaného souboru POM ve formuláři {GroupId}:{ArtifactId}.
JavaVersion Povinný řetězec. Verze knihovny Java odpovídající zadanému souboru POM.

Další podrobnosti najdete v dokumentaci k řešení závislostí Java .

Podpora této položky sestavení byla zavedena v .NET 9.

AndroidIgnoredJavaDependency (Java Závislost Ignorovaná Androidem)

<AndroidIgnoredJavaDependency> se používá ve spojení s řešením závislostí Java.

Slouží k určení závislosti v Javě, která by se měla ignorovat. To se dá použít, pokud bude závislost splněna způsobem, který nedokáže rozpoznat rozlišení závislostí v Javě.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
Název metadat položky Description
Version Povinný řetězec. Verze knihovny Java odpovídající zadané závislosti.

Další podrobnosti najdete v dokumentaci k řešení závislostí Java .

Podpora této položky sestavení byla zavedena v .NET 9.

AndroidJavaLibrary

Tato položka sestavení je zastaralá a nahrazuje se položkou AndroidLibrary .

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

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

Soubory s akcí sestavení AndroidJavaLibrary jsou archivy Java (soubory .jar), které budou zahrnuty do konečného Android balíčku.

AndroidJavaSource

AndroidJavaSource soubory jsou zdrojový kód Java, který se zkompiluje a zahrne do konečného balíčku Pro Android.

Počínaje rozhraním .NET 7, mají všechny **\*.java soubory v adresáři projektu automaticky akci AndroidJavaSource Sestavení a budou zahrnuty před sestavením. Umožňuje kódu jazyka C# snadno používat typy a členy, které jsou přítomné v souborech **\*.java .

Název metadat položky Description
Vázat Volitelná logická hodnota Určuje, jestli má zdrojový soubor Java mít vygenerovanou vazbu jazyka C#. Výchozí hodnota je true.

Podpora této položky sestavení byla zavedena v .NET 7.

AndroidLibrary

.jar / .aar Představuje soubor, který má být vázaný a zahrnutý do projektu.

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
Název metadat položky Description
Vázat Volitelná logická hodnota Určuje, jestli má knihovna Java mít vygenerovanou vazbu jazyka C#. Výchozí hodnota je true.
Balení Volitelná logická hodnota Určuje, jestli má být knihovna Java zahrnuta do výstupu projektu. Výchozí hodnota je true.

AndroidMavenLibrary

.jar / .aar Představuje soubor, který by se měl stáhnout z úložiště Maven a který je vázán projektem vazeb.

To může být užitečné ke zjednodušení údržby vazeb .NET pro Android pro artefakty hostované v Mavenu.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Název metadat položky Description
Version Povinný textový řetězec Verze knihovny Java, která by se měla stáhnout z Mavenu. Výchozí hodnota je true.
Repository Volitelný řetězec. Určuje úložiště Maven, které se má použít. Podporované hodnoty jsou Central, Googlenebo https adresa URL úložiště Maven. Výchozí hodnota je Central.
Vázat Volitelná booleovská hodnota Určuje, jestli má knihovna Java mít vygenerovanou vazbu jazyka C#. Výchozí hodnota je true.
Balení Volitelná logická hodnota Určuje, jestli má být knihovna Java zahrnuta do výstupu projektu. Výchozí hodnota je true.

Další podrobnosti najdete v dokumentaci k AndroidMavenLibrary .

Podpora této položky sestavení byla zavedena v .NET 9.

EmbeddedJar

Tato položka sestavení je zastaralá a nahrazuje se položkou AndroidLibrary .

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

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

V projektu vazby .NET pro Android vytvoří akce sestavení EmbeddedJar vazbu knihovny Java/Kotlin a vloží .jar soubor do knihovny. Když projekt aplikace .NET pro Android využívá knihovnu, bude mít přístup k rozhraním Java/Kotlin API z jazyka C# a do konečné aplikace pro Android bude obsahovat kód Java/Kotlin.

EmbeddedReferenceJar

Tato položka sestavení je zastaralá a je nahrazena položkou AndroidLibrary s metadata Bind nastaveným na false.

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

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

V projektu vazby .NET pro Android vloží akce sestavení .jar soubor do knihovny, ale nevytvoří vazbu jazyka C# jako EmbeddedJar. Když projekt aplikace .NET pro Android využívá knihovnu, bude obsahovat kód Java/Kotlin do konečné aplikace pro Android.

JavaSourceJar

Představuje zdrojový kód.jarJava obsahující komentáře dokumentace Javadoc , ze kterého by se měla importovat dokumentace k rozhraní API.

Javadoc bude převeden na komentáře dokumentace jazyka C# XML ve vygenerovaném zdrojovém kódu vazby.

$(AndroidJavadocVerbosity) určuje, jak je importovaný Javadoc „podrobný“ nebo „úplný“.

Název metadat položky Description
CopyrightFile Volitelný řetězec. Cesta k souboru, který obsahuje informace o autorských právech pro obsah Javadoc, který se připojí ke všem importovaným dokumentacím.
UrlPrefix Volitelný řetězec. Předpona adresy URL pro podporu propojení s online dokumentací v rámci importované dokumentace.
UrlStyle Volitelný řetězec. Styl adres URL, které se mají vygenerovat při propojení s online dokumentací. V současné době je podporován pouze jeden styl: developer.android.com/reference@2020-Nov.
DocRootUrl Volitelný řetězec. Předpona adresy URL, která se použije místo všech {@docroot} instancí v importované dokumentaci.

LibraryProjectZip

Tato položka sestavení je zastaralá a nahrazuje se položkou sestavení AndroidLibrary .

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

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

Akce sestavení LibraryProjectZip sváže knihovnu Java/Kotlin a vloží .zip.aar soubor do knihovny. Když projekt aplikace .NET pro Android využívá knihovnu, bude mít přístup k rozhraním Java/Kotlin API z jazyka C# a do konečné aplikace pro Android bude obsahovat kód Java/Kotlin.