Partilhar via


Vinculação de itens do MSBuild

Observação

No .NET para Android tecnicamente não há distinção entre uma aplicação e um projeto de bindings, por isso estes itens funcionam em ambos. Na prática, é altamente recomendado criar projetos separados de aplicações e de ligações. Os itens de build que são usados principalmente em projetos de aplicação estão documentados no guia de referência de itens do MSBuild.

Itens de construção

Número Descrição
AndroidAdditionalJavaManifest
Adicionado em .NET 9
Representa ficheiros POM adicionais necessários para verificar dependências de Java.

Documentação
AndroidIgnoredJavaDependency
Adicionado em .NET 9
Representa dependências de Java que devem ser ignoradas ao verificar dependências de Java.

Documentação
AndroidJavaSource Representa ficheiros fonte Java (.java) que devem ser compilados e incluídos no projeto.

Documentação
AndroidLibrary Representa um .jar/.aar ficheiro a ser vinculado pelo projeto de vinculação.

Documentação
AndroidMavenLibrary
Adicionado em .NET 9
Representa um .jar/.aar ficheiro que deve ser descarregado de um repositório Maven e vinculado pelo projeto de ligações.

Documentação
AndroidNamespaceReplacement Representa uma transformação que deve ser aplicada a um nome de pacote Java para que o namespace gerido resultante se adapte melhor às convenções do .NET.

Documentação
JavaSourceJar Representa um código-fonte.jar Java do qual a documentação da API deve ser importada.

Documentação

Itens de compilação obsoletos

Estes itens do MSBuild foram obsoletos. Enquanto continuam a funcionar, recomenda-se migrar para os itens mais recentes listados.

Número Descrição
AndroidAarLibrary
Preterido
Representa um ficheiro Android .aar a ser incluído na saída do projeto.

Documentação
AndroidJavaLibrary
Preterido
Representa um ficheiro Android .jar a ser incluído na saída do projeto.

Documentação
EmbeddedJar
Preterido
Representa um ficheiro Android .jar a ser vinculado e incluído no resultado do projeto.

Documentação
EmbeddedReferenceJar
Preterido
Representa um ficheiro Android .jar a ser incluído na saída do projeto.

Documentação
LibraryProjectZip
Preterido
Representa um ficheiro Android .aar a ser incluído na saída do projeto.

Documentação

AndroidAarLibrary

Este item de build está obsoleto e é substituído pelo item AndroidLibrary .

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

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

A ação de Build de AndroidAarLibrary deve ser usada para referenciar diretamente ficheiros .aar. Esta ação de construção será mais frequentemente usada pelos Componentes Xamarin. Nomeadamente, incluir referências a .aar ficheiros necessários para pôr o Google Play e outros serviços a funcionar.

Ficheiros com esta ação de Build serão tratados de forma semelhante aos recursos incorporados encontrados em projetos de Biblioteca. Será extraído .aar para o diretório intermédio. Em seguida, quaisquer ficheiros de ativos, recursos e .jar serão incluídos nos grupos de itens apropriados.

AndroidAdditionalJavaManifest

<AndroidAdditionalJavaManifest> é usado em conjunto com o Java Dependency Resolution.

É usado para especificar ficheiros POM adicionais que serão necessários para verificar dependências. Estes são frequentemente ficheiros pai ou POM importados, referenciados pelo ficheiro POM de uma biblioteca Java.

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Nome dos metadados do item Descrição
JavaArtifact Cadeia de caracteres necessária. O id de grupo e artefacto da biblioteca Java corresponde ao ficheiro POM especificado na forma {GroupId}:{ArtifactId}.
JavaVersion Cadeia de caracteres necessária. A versão da biblioteca Java que corresponde ao ficheiro POM especificado.

Consulte a documentação do Java Dependency Resolution para mais detalhes.

O suporte para este item de compilação foi introduzido no .NET 9.

Dependência Java Ignorada no Android

<AndroidIgnoredJavaDependency> é usado em conjunto com o Java Dependency Resolution.

É usado para especificar uma dependência de Java que deve ser ignorada. Isto pode ser usado se uma dependência for cumprida de uma forma que a resolução de dependências Java não consiga detetar.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
Nome dos metadados do item Descrição
Versão String obrigatória. A versão da biblioteca Java que corresponde à dependência especificada.

Consulte a documentação do Java Dependency Resolution para mais detalhes.

O suporte para este item de compilação foi introduzido no .NET 9.

AndroidJavaLibrary

Este item de build está obsoleto e é substituído pelo item AndroidLibrary .

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

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

Ficheiros com a ação de compilação AndroidJavaLibrary são Arquivos Java (ficheiros .jar) que serão incluídos no pacote final do Android.

AndroidJavaSource

AndroidJavaSource os ficheiros são código-fonte Java que serão compilados e incluídos no pacote final do Android.

A partir do .NET 7, todos os **\*.java ficheiros dentro do diretório do projeto têm automaticamente uma ação de construção de AndroidJavaSource, e serão vinculados antes da construção do Assembly. Permite que o código C# use facilmente os tipos e membros presentes nos **\*.java ficheiros.

Nome dos metadados do item Descrição
Vincular Booleano opcional. Especifica se o ficheiro-fonte Java deve ter uma ligação C# gerada para ele. O padrão é true.

O suporte para este item de compilação foi introduzido no .NET 7.

AndroidLibrary

Representa um .jar/.aar ficheiro a ser vinculado e incluído no projeto.

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
Nome dos metadados do item Descrição
Vincular Booleano opcional. Especifica se a biblioteca Java deve ter uma ligação C# gerada para ela. O padrão é true.
Embalar Booleano opcional. Especifica se a biblioteca Java deve ser incluída no resultado do projeto. O padrão é true.

AndroidMavenLibrary

Representa um .jar/.aar ficheiro que deve ser descarregado de um repositório Maven e vinculado pelo projeto de ligações.

Isto pode ser útil para simplificar a manutenção dos bindings do .NET para Android para artefactos alojados no Maven.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Nome dos metadados do item Descrição
Versão Cadeia de caracteres necessária. A versão da biblioteca Java que deve ser descarregada do Maven. O padrão é true.
Repositório Cadeia de caracteres opcional. Especifica o repositório Maven para usar. Os valores suportados são Central, Google, ou um https URL para um repositório Maven. O padrão é Central.
Vincular Booleano opcional. Especifica se a biblioteca Java deve ter uma ligação C# gerada para ela. O padrão é true.
Embalar Booleano opcional. Especifica se a biblioteca Java deve ser incluída no resultado do projeto. O padrão é true.

Consulte a documentação do AndroidMavenLibrary para mais detalhes.

O suporte para este item de compilação foi introduzido no .NET 9.

EmbeddedJar

Este item de build está obsoleto e é substituído pelo item AndroidLibrary .

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

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

Num projeto de binding .NET para Android, a ação de compilação EmbeddedJar vincula a biblioteca Java/Kotlin e incorpora o .jar ficheiro na biblioteca. Quando um projeto de aplicação .NET para Android consome a biblioteca, terá acesso às APIs Java/Kotlin do C#, bem como incluirá o código Java/Kotlin na aplicação final para Android.

EmbeddedReferenceJar

Este elemento de compilação está obsoleto e é substituído pelo item AndroidLibrary com os metadados Bind definidos para false.

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

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

Num projeto de binding .NET para Android, a ação de compilação EmbeddedReferenceJar incorpora o .jar ficheiro na biblioteca, mas não cria uma binding em C# como faz o EmbeddedJar . Quando um projeto de aplicação .NET para Android consome a biblioteca, irá incluir o código Java/Kotlin na aplicação final para Android.

JavaSourceJar

Representa um código-fonte Java que contém comentários de documentação Javadoc, a partir dos quais a documentação da API deve ser importada.

O Javadoc será convertido em Comentários de Documentação XML em C# dentro do código-fonte de binding gerado.

$(AndroidJavadocVerbosity) controla o quão "prolixo" ou "completo" é o Javadoc importado.

Nome dos metadados do item Descrição
Arquivo de Direitos de Autor Cadeia de caracteres opcional. Um caminho para um ficheiro que contém informações de direitos de autor para o conteúdo do Javadoc, que será acrescentado a toda a documentação importada.
UrlPrefixo Cadeia de caracteres opcional. Um prefixo de URL para suportar a ligação para documentação online dentro da documentação importada.
UrlStyle Cadeia de caracteres opcional. O "estilo" das URLs a gerar ao ligar para documentação online. Atualmente, apenas um estilo é suportado: developer.android.com/reference@2020-Nov.
DocRootUrl Cadeia de caracteres opcional. Um prefixo de URL para usar em lugar de todas as instâncias de {@docroot} na documentação importada.

LibraryProjectZip

Este item de build está obsoleto e é substituído pelo item de build AndroidLibrary .

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

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

A ação de compilação LibraryProjectZip liga a biblioteca Java/Kotlin e incorpora o ficheiro .zip ou .aar na biblioteca. Quando um projeto de aplicação .NET para Android consome a biblioteca, terá acesso às APIs Java/Kotlin do C#, bem como incluirá o código Java/Kotlin na aplicação final para Android.