Compartilhar via


Projetos de vinculação de itens do MSBuild

Observação

No .NET para Android, tecnicamente não há distinção entre um aplicativo e um projeto de associações, portanto, esses itens funcionarão em ambos. Na prática, é altamente recomendável criar projetos separados de aplicativos e associações. Os itens de build usados principalmente em projetos de aplicativo estão documentados no guia de referência de itens do MSBuild.

itens de build

Item Descrição
AndroidAdditionalJavaManifest
Adicionado no .NET 9
Representa arquivos POM adicionais necessários para verificar as dependências do Java.

Documentação
AndroidIgnoredJavaDependency
Adicionado no .NET 9
Representa uma dependência Java que deve ser ignorada ao verificar a dependência Java.

Documentação
AndroidJavaSource Representa os arquivos de código-fonte Java (.java) que devem ser compilados e incluídos no projeto.

Documentação
AndroidLibrary Representa um .jar/.aar arquivo a ser associado pelo projeto de associações.

Documentação
AndroidMavenLibrary
Adicionado no .NET 9
Representa um .jar/.aar arquivo que deve ser baixado 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 tornar o namespace gerenciado resultante mais adequado às convenções do .NET.

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

Documentação

Itens de compilação preteridos

Esses itens do MSBuild foram preteridos. Enquanto eles continuam a funcionar, é recomendável migrar para os itens mais recentes listados.

Item Descrição
AndroidAarLibrary
Preterido
Representa um arquivo Android .aar a ser incluído na saída do projeto.

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

Documentação
EmbeddedJar
Preterido
Representa um arquivo Android .jar a ser vinculado e incluído na saída do projeto.

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

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

Documentação

AndroidAarLibrary

Esse item de compilação foi preterido e substituído pelo item AndroidLibrary .

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

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

A ação Construir de AndroidAarLibrary deve ser usada para referenciar diretamente os arquivos .aar. Essa ação do build será mais usada pelos componentes do Xamarin. Ou seja, incluir referências a .aar arquivos necessários para que o Google Play e outros serviços funcionem.

Os arquivos com essa ação Compilar serão tratados de maneira semelhante aos recursos incorporados encontrados nos projetos da Biblioteca. O .aar será extraído para o diretório intermediário. Em seguida, todos os ativos, recursos e .jar arquivos serão incluídos nos grupos de itens apropriados.

AndroidAdditionalJavaManifest

<AndroidAdditionalJavaManifest> é usado em conjunto com Resolução de Dependências Java.

Ele é usado para especificar arquivos POM adicionais que serão necessários para verificar as dependências. Geralmente, são arquivos POM pai ou importados referenciados pelo arquivo POM de uma biblioteca Java.

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Nome de metadados de item Descrição
Artefato Java Cadeia de caracteres obrigatória. O grupo e o ID do artefato da biblioteca Java que correspondem ao arquivo POM especificado no formato {GroupId}:{ArtifactId}.
JavaVersion Cadeia de caracteres obrigatória. A versão da biblioteca Java que corresponde ao arquivo POM especificado.

Consulte a documentação da Resolução de Dependência Java para obter mais detalhes.

O suporte para esse item de build foi introduzido no .NET 9.

AndroidIgnoredJavaDependency

<AndroidIgnoredJavaDependency> é usado em conjunto com Resolução de Dependências do Java.

Ele é usado para especificar uma dependência Java que deve ser ignorada. Isso pode ser usado se uma dependência for atendida de uma forma que a resolução de dependência Java não possa detectar.

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

Consulte a documentação de Resolução de Dependência Java para obter mais detalhes.

O suporte para esse item de build foi introduzido no .NET 9.

AndroidJavaLibrary

Esse item de compilação foi preterido e substituído pelo item AndroidLibrary .

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

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

Os arquivos com uma ação Build do tipo AndroidJavaLibrary são arquivos JAR ( .jar) que serão incluídos no pacote final do Android.

AndroidJavaSource

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

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

Nome de metadados de item Descrição
Associar Booliano opcional. Especifica se o arquivo de origem Java deve ter uma associação C# gerada para ele. Padrão: true.

O suporte para esse item de build foi introduzido no .NET 7.

Biblioteca Android

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

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
Nome de metadados do item Descrição
Associar Booliano opcional. Especifica se a biblioteca Java deve ter uma associação C# gerada para ela. Padrão é true.
Pacote Booliano opcional. Especifica se a biblioteca Java deve ser incluída na saída do projeto. Padrão: true.

AndroidMavenBiblioteca

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

Isso pode ser útil para simplificar a manutenção de associações do .NET para Android para artefatos hospedados no Maven.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Nome do metadado do item Descrição
Versão Cadeia de caracteres obrigatória. A versão da biblioteca Java que deve ser baixada do Maven. O valor padrão é true.
Repositório Cadeia de caracteres opcional. Especifica o repositório Maven a ser usado. Os valores suportados são Central, Google, ou uma https URL para um repositório Maven. Assume o padrão de Central.
Vincular Booliano opcional. Especifica se a biblioteca Java deve ter uma associação C# gerada para ela. Define o padrão como true.
Pacote Booliano opcional. Especifica se a biblioteca Java deve ser incluída na saída do projeto. O padrão é true.

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

O suporte para esse item de build foi introduzido no .NET 9.

Jar incorporado

Esse item de compilação foi preterido e substituído pelo item AndroidLibrary .

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

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

Em um projeto de vinculação do .NET para Android, a EmbeddedJar ação de build vincula a biblioteca Java/Kotlin e incorpora o .jar arquivo na biblioteca. Quando um projeto de aplicativo .NET para Android consome a biblioteca, ele tem acesso às APIs Java/Kotlin do C#, além de incluir o código Java/Kotlin no aplicativo Android final.

EmbeddedReferenceJar

Esse item de compilação foi preterido e substituído pelo item AndroidLibrary com os metadados Bind definidos como false.

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

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

Em um projeto de associação do .NET para Android, a ação de compilação EmbeddedReferenceJar incorpora o arquivo .jar à biblioteca, mas não cria uma associação C# como EmbeddedJar faz. Quando um projeto de aplicativo .NET para Android consome a biblioteca, ele inclui o código Java/Kotlin no aplicativo Android final.

JavaSourceJar

Representa um código-fonte contendo comentários de documentação Javadoc dos quais a documentação da API deve ser importada.

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

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

Nome do metadado do item Descrição
Arquivo de direitos autorais Cadeia de caracteres opcional. Um caminho para um arquivo que contém informações de direitos autorais para o conteúdo do Javadoc, que será anexado a toda a documentação importada.
Prefixo de URL Cadeia de caracteres opcional. Um prefixo de URL para dar suporte à vinculação à documentação online na documentação importada.
EstiloUrl Cadeia de caracteres opcional. O "estilo" de URLs a serem gerados ao vincular à documentação online. Atualmente, apenas um estilo é suportado: developer.android.com/reference@2020-Nov.
DocRootUrl Cadeia de caracteres opcional. Um prefixo de URL a ser usado no lugar de todas as {@docroot} instâncias na documentação importada.

Biblioteca de Projeto Zip

Esse item de compilação foi preterido e substituído pelo item de compilação AndroidLibrary .

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

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

A ação de compilação LibraryProjectZip vincula a biblioteca Java/Kotlin e incorpora o arquivo .zip ou .aar à biblioteca. Quando um projeto de aplicativo .NET para Android consome a biblioteca, ele tem acesso às APIs Java/Kotlin do C#, além de incluir o código Java/Kotlin no aplicativo Android final.