Condividi tramite


Destinazioni di compilazione

Le destinazioni di compilazione seguenti sono definite in .NET per i progetti Android.

Build

Compila il codice sorgente all'interno di un progetto e di tutte le dipendenze.

Questa destinazione non crea un pacchetto Android (.apk file). Per creare un pacchetto Android, usare la destinazione SignAndroidPackage o impostare la proprietà '$(AndroidBuildApplicationPackage) su True durante la compilazione:

msbuild /p:AndroidBuildApplicationPackage=True App.sln

BuildAndStartAotProfiling

Compila l'app con un profiler AOT incorporato, imposta la porta TCP del profiler su $(AndroidAotProfilerPort)e avvia l'attività predefinita.

La porta TCP predefinita è 9999.

Aggiunta in Xamarin.Android 10.2.

Pulire

Rimuove tutti i file generati dal processo di compilazione.

FinishAotProfiling

Deve essere chiamato dopo la destinazione BuildAndStartAotProfiling .

Raccoglie i dati del profiler AOT dal dispositivo o dall'emulatore tramite la porta TCP $(AndroidAotProfilerPort) e li scrive in $(AndroidAotCustomProfilePath).

I valori predefiniti per la porta e il profilo personalizzato sono 9999 e custom.aprof.

Per passare opzioni aggiuntive a aprofutil, impostarle in Proprietà $(AProfUtilExtraOptions).

Equivale a:

aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"

Aggiunta in Xamarin.Android 10.2.

GetAndroidDependencies

Crea il @(AndroidDependency) gruppo di elementi, usato dalla InstallAndroidDependencies destinazione per determinare quali pacchetti Android SDK installare.

Installare

Crea, firma e installa il pacchetto Android nel dispositivo predefinito o nel dispositivo virtuale.

La $(AdbTarget) proprietà specifica il dispositivo di destinazione Android da cui può essere installato o rimosso il pacchetto Android.

# 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

Chiama la GetAndroidDependencies destinazione, quindi installa i pacchetti Android SDK specificati nel @(AndroidDependency) gruppo di elementi.

dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"

-f net8.0-android È obbligatorio perché questa destinazione è una destinazione .NET per Android specifica. Se si omette questo argomento, verrà visualizzato l'errore seguente:

error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.

Le AndroidSdkDirectory proprietà e JavaSdkDirectory sono necessarie perché è necessario sapere dove installare i componenti necessari. Queste directory possono essere vuote o esistenti. I componenti sdk verranno installati in un'installazione sdk esistente.

La $(AndroidManifestType) proprietà MSBuild controlla il repository di Visual Studio SDK Manager usato per il rilevamento del nome del pacchetto e della versione del pacchetto e gli URL da scaricare.

RunWithLogging

Esegue l'applicazione con registrazione aggiuntiva abilitata. Utile quando si segnala o si analizza un problema con l'applicazione o il runtime. In caso di esito positivo, i messaggi stampati nella schermata visualizzeranno il percorso del file logcat con i messaggi registrati.

Proprietà che influiscono sul funzionamento della destinazione:

  • /p:RunLogVerbose=true abilita la registrazione ancora più dettagliata da MonoVM
  • /p:RunLogDelayInMS=X dove X deve essere sostituito con il tempo in millisecondi di attesa prima di scrivere l'output del log nel file. Il valore predefinito è 1000.

SignAndroidPackage

Crea e firma il file del pacchetto Android (.apk).

Da usare con /p:Configuration=Release per generare i pacchetti "Release" (Rilascio) autonomi.

StartAndroidActivity

Avvia l'attività predefinita nel dispositivo o nell'emulatore in esecuzione.

Per avviare un'attività diversa, impostare $(AndroidLaunchActivity) per il nome dell'attività.

Equivale a:

adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)

Aggiunta in Xamarin.Android 10.2.

StopAndroidPackage

Arresta completamente il pacchetto dell'applicazione nel dispositivo o nell'emulatore in esecuzione.

Equivale a:

adb shell am force-stop @PACKAGE_NAME@

Aggiunta in Xamarin.Android 10.2.

Disinstalla

Disinstalla il pacchetto Android dal dispositivo predefinito o dal dispositivo virtuale.

La $(AdbTarget) proprietà specifica il dispositivo di destinazione Android da cui può essere installato o rimosso il pacchetto Android.

UpdateAndroidResources

Aggiorna il Resource.designer.cs file.

Questa destinazione viene in genere chiamata dall'IDE quando vengono aggiunte nuove risorse al progetto.