Compilar destinos
Los siguientes destinos de compilación se definen en .NET para proyectos de Android.
Build
Compila el código fuente en un proyecto y en todas las dependencias.
Este destino no crea un paquete de Android (archivo .apk
).
Para crear un paquete de Android, use el destino SignAndroidPackage o establezca la propiedad `$(AndroidBuildApplicationPackage) en True al compilar:
msbuild /p:AndroidBuildApplicationPackage=True App.sln
BuildAndStartAotProfiling
Compila la aplicación con un generador de perfiles de AOT insertado, establece el puerto TCP del generador de perfiles en $(AndroidAotProfilerPort)
e inicia la actividad predeterminada.
El puerto TCP predeterminado es 9999
.
Se ha agregado en Xamarin.Android 10.2.
Clean
Elimina todos los archivos que genera el proceso de compilación.
FinishAotProfiling
Se le debe llamar después del destino BuildAndStartAotProfiling.
Recopila los datos del generador de perfiles de AOT del dispositivo o emulador mediante el puerto TCP $(AndroidAotProfilerPort)
y los escribe en $(AndroidAotCustomProfilePath)
.
Los valores predeterminados para el puerto y el perfil personalizado son 9999
y custom.aprof
.
Para pasar opciones adicionales a aprofutil
, establézcalas en Propiedad $(AProfUtilExtraOptions)
.
Esto equivale a:
aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"
Se ha agregado en Xamarin.Android 10.2.
GetAndroidDependencies
Crea el grupo de elementos @(AndroidDependency)
, que usa el destino InstallAndroidDependencies
para determinar qué paquetes de Android SDK se van a instalar.
Instalación
Crea, firma e instala el paquete de Android en el dispositivo predeterminado o el dispositivo virtual.
La propiedad $(AdbTarget)
especifica el dispositivo Android de destino en el que se puede instalar el paquete Android o desde el que se puede quitar.
# 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
Llama al destino GetAndroidDependencies
y, después, instala los paquetes de Android SDK especificados en el grupo de elementos @(AndroidDependency)
.
dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"
-f net8.0-android
Es necesario, ya que este destino es un destino específico de .NET para Android. Si omite este argumento, obtendrá el siguiente error:
error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.
Las AndroidSdkDirectory
propiedades y JavaSdkDirectory
son necesarias, ya que es necesario saber dónde instalar los componentes necesarios. Estos directorios pueden estar vacíos o existentes. Los componentes del SDK se instalarán sobre una instalación del SDK existente.
La propiedad $(AndroidManifestType)
de MSBuild controla qué repositorio del Administrador de SDK de Visual Studio se usa para la detección del nombre y la versión del paquete, así como las direcciones URL que se van a descargar.
RunWithLogging
Ejecuta la aplicación con el registro adicional habilitado. Resulta útil al notificar o investigar un problema con la aplicación o el entorno de ejecución. Si se ejecuta correctamente, los mensajes impresos en la pantalla mostrarán la ubicación del archivo logcat con los mensajes registrados.
Propiedades que afectan al funcionamiento del destino:
/p:RunLogVerbose=true
habilita aún más el registro detallado desde MonoVM./p:RunLogDelayInMS=X
dondeX
debe reemplazarse por el tiempo en milisegundos que se esperarán antes de escribir la salida del registro en el archivo. Tiene como valor predeterminado1000
.
SignAndroidPackage
Crea y firma el archivo (.apk
) del paquete de Android.
Úselo con /p:Configuration=Release
para generar paquetes de comerciales.
StartAndroidActivity
Inicia la actividad predeterminada en el dispositivo o en el emulador en ejecución.
Para iniciar una actividad diferente, establezca la propiedad La propiedad $(AndroidLaunchActivity)
para el nombre de la actividad.
Esto equivale a:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
Se ha agregado en Xamarin.Android 10.2.
StopAndroidPackage
Detiene completamente el paquete de aplicación en el dispositivo o en el emulador en ejecución.
Esto equivale a:
adb shell am force-stop @PACKAGE_NAME@
Se ha agregado en Xamarin.Android 10.2.
Desinstalar
Desinstala el paquete de Android del dispositivo predeterminado o del virtual.
La propiedad $(AdbTarget)
especifica el dispositivo Android de destino en el que se puede instalar el paquete Android o desde el que se puede quitar.
UpdateAndroidResources
Actualizan el archivo Resource.designer.cs
.
El IDE llama normalmente a este destino cuando se agregan nuevos recursos al proyecto.