Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os alvos de build a seguir são definidos em projetos .NET para Android.
Criar
Constrói o código-fonte dentro de um projeto e de todas as dependências.
Este alvo não cria um pacote Android (arquivo .apk).
Para criar um pacote Android, use o alvo SignAndroidPackageou defina a propriedade `$(AndroidBuildApplicationPackage) como True durante a compilação:
msbuild /p:AndroidBuildApplicationPackage=True App.slnx
BuildAndStartAotProfiling
Cria o aplicativo com um criador de perfil AOT inserido, define a porta TCP do criador de perfil como $(AndroidAotProfilerPort)e inicia a atividade padrão.
Esse alvo herdado se aplica a projetos compatíveis com o .NET 10 e versões anteriores que usam Mono. Ele não configura o perfilamento do CoreCLR nem do NativeAOT.
A porta TCP padrão é 9999.
Adicionado no Xamarin.Android 10.2.
Limpar
Remove todos os arquivos gerados pelo processo de compilação.
ComputeAvailableDevices
Consulta e retorna uma lista de dispositivos Android e emuladores disponíveis que podem ser usados com dotnet run.
Este alvo é chamado automaticamente pelo comando dotnet run do SDK .NET para dar suporte à seleção de dispositivo por meio da opção --device. Ele retorna um @(Devices) grupo de itens em que cada dispositivo tem os seguintes metadados:
- Descrição: um nome amigável para humanos (por exemplo, "Pixel 7 – API 35" para emuladores, "Pixel 6 Pro" para dispositivos físicos)
- Tipo: "Dispositivo" ou "Emulador"
- Status: Status do dispositivo - "Online", "Offline", "Não autorizado" ou "NoPermissions"
- Modelo: o identificador do modelo de dispositivo (opcional)
- Produto: O nome do produto (opcional)
- Dispositivo: o nome do dispositivo (opcional)
- TransportId: A ID de transporte do adb (opcional)
Por exemplo, para listar todos os dispositivos disponíveis:
dotnet build -t:ComputeAvailableDevices
Esse destino faz parte da especificação de seleção de dispositivo do SDK do .NET e habilita comandos como:
dotnet run --device <device-serial>
Quando um dispositivo é selecionado por meio da $(Device) propriedade, a $(AdbTarget) propriedade é definida automaticamente como destino a esse dispositivo específico para todas as operações de adb.
Adicionado no .NET 11.
FinishAotProfiling
Deve ser chamado após o alvo BuildAndStartAotProfiling.
Esse alvo herdado se aplica a projetos com suporte do .NET 10 e anteriores que usam o Mono.
Coleta os dados do profiler AOT do dispositivo ou emulador através da porta TCP
$(AndroidAotProfilerPort) e os escreve em $(AndroidAotCustomProfilePath).
Os valores padrão para porta e perfil personalizado são 9999 e custom.aprof.
Para passar opções adicionais para aprofutil, defina-as na Propriedade $(AProfUtilExtraOptions).
Isso é o mesmo que:
aprofutil $(AProfUtilExtraOptions) -s -v -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"
Adicionado no Xamarin.Android 10.2.
GetAndroidDependencies
Cria o @(AndroidDependency) grupo de itens, que é usado pelo InstallAndroidDependencies destino para determinar quais pacotes do SDK do Android instalar.
GetApplicationArtifacts
Cria e retorna o @(ApplicationArtifact) grupo de itens, que contém os arquivos apk e pacote de aplicativos Android produzidos pelo build.
Este alvo sempre depende do alvo Build necessário, que produz e coleta artefatos da plataforma em @(ApplicationArtifact). Importações posteriores podem definir ou acrescentar alvos a $(GetApplicationArtifactsDependsOn) para atualizar esses itens existentes com metadados adicionais antes que esse alvo ou o alvo Publish os retorne. A substituição de $(GetApplicationArtifactsDependsOn) não remove a dependência necessária de Build.
Os metadados comuns do aplicativo são lidos do arquivo AndroidManifest.xml final mesclado antes da coleta dos artefatos. Os valores de manifesto final têm precedência sobre as propriedades de projeto correspondentes, inclusive quando um manifesto personalizado substitui valores gerados ou $(GenerateApplicationManifest) é false. Uma android:label referência de recurso, como @string/app_name permanece uma referência de recurso; nenhuma localidade é selecionada quando os metadados são retornados.
Chame este alvo diretamente quando um job de CI ou uma ferramenta personalizada precisar dos caminhos dos artefatos de saída da compilação:
dotnet build MyApp.csproj -t:GetApplicationArtifacts -getTargetResult:GetApplicationArtifacts
Use o resultado do alvo Publish quando o chamador precisar das saídas de publicação copiadas em $(PublishDir):
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
Instalar
Cria, assina e instala o pacote Android no dispositivo padrão ou no dispositivo virtual.
A $(AdbTarget) propriedade especifica o dispositivo de destino Android no qual o pacote Android pode ser instalado ou removido.
# Install package onto emulator via -e
# Use `/Library/Frameworks/Mono.framework/Commands/msbuild` on OS X
MSBuild /t:Install ProjectName.csproj /p:AdbTarget=-e
InstallAndroidDependencies
Chama o alvo GetAndroidDependencies e, em seguida, instala os pacotes do SDK do Android especificados no grupo de itens @(AndroidDependency).
dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"
O -f net8.0-android é necessário, pois esse destino é um destino específico do .NET para Android. Se você omitir esse argumento, receberá o seguinte erro:
error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.
As AndroidSdkDirectory propriedades e JavaSdkDirectory são necessárias, pois precisamos saber onde instalar os componentes necessários. Esses diretórios podem estar vazios ou existentes. Os componentes do SDK serão instalados na parte superior de uma instalação do SDK existente.
A propriedade $(AndroidManifestType) MSBuild controla qual repositório Visual Studio SDK Manager é usado para detecção do nome e da versão do pacote, bem como URLs para download.
Publicar
Compila o aplicativo, copia os arquivos APK finais e Android App Bundle para $(PublishDir) e retorna o grupo de itens @(ApplicationArtifact).
Os itens retornados usam os caminhos copiados do diretório de publicação e preservam metadados de artefatos, como %(PackageFormat), %(PackageId), %(Signed), %(Abi), %(ApplicationId), %(ApplicationTitle), %(ApplicationName), %(ApplicationDisplayVersion) e %(ApplicationVersion).
Publish primeiro executa GetApplicationArtifacts, que compila o projeto e preenche @(ApplicationArtifact) com os artefatos produzidos pela plataforma. Os alvos acrescentados a $(GetApplicationArtifactsDependsOn) são então executados sobre esses itens existentes antes de Publish calcular os arquivos para publicação e antes de Publish retornar @(ApplicationArtifact), para que importações posteriores possam adicionar metadados para os chamadores da publicação.
Por exemplo, para consultar os artefatos publicados:
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
RunWithLogging
Executa o aplicativo com registro adicional ativado. Útil ao relatar ou investigar um problema com o aplicativo ou o tempo de execução. Se for bem-sucedido, as mensagens impressas na tela mostrarão a localização do arquivo logcat com as mensagens registradas.
Propriedades que afetam o funcionamento do alvo:
-
/p:RunLogVerbose=truehabilita o registro em log de runtime ainda mais detalhado -
/p:RunLogDelayInMS=XondeXdeve ser substituído por tempo em milissegundos para aguardar antes de gravar a saída do log no arquivo. O padrão é1000.
SignAndroidPackage
Cria e assina o arquivo do pacote Android (.apk).
Use com /p:Configuration=Release para gerar pacotes de "Release" independentes.
Os arquivos de pacote criados por esse destino estão disponíveis no @(ApplicationArtifact) grupo de itens.
IniciarAndroidActivity
Inicia a atividade padrão no dispositivo ou no emulador em execução.
Para iniciar uma atividade diferente, defina a propriedade
$(AndroidLaunchActivity) com o nome da atividade.
Isso é o mesmo que:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
Adicionado no Xamarin.Android 10.2.
Pacote StopAndroidPackage
Interrompe completamente o pacote de aplicativos no dispositivo ou no emulador em execução.
Isso é o mesmo que:
adb shell am force-stop @PACKAGE_NAME@
Adicionado no Xamarin.Android 10.2.
Desinstalar
Desinstala o pacote Android do dispositivo padrão ou do dispositivo virtual.
A $(AdbTarget) propriedade especifica o dispositivo de destino Android no qual o pacote Android pode ser instalado ou removido.
UpdateAndroidResources
Atualiza o arquivo Resource.designer.cs.
Esse destino geralmente é chamado pelo IDE quando novos recursos são adicionados ao projeto.