Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le destinazioni di compilazione seguenti sono definite in .NET per i progetti Android.
Compilazione
Compila il codice sorgente all'interno di un progetto e di tutte le sue dipendenze.
Questa destinazione non crea un pacchetto Android (.apk file).
Per creare un pacchetto Android, usare il target SignAndroidPackage oppure impostare la proprietà `$(AndroidBuildApplicationPackage)` a True durante il build.
msbuild /p:AndroidBuildApplicationPackage=True App.slnx
BuildAndStartAotProfiling
Compila l'app con un profiler AOT incorporato, imposta la porta TCP del profiler su $(AndroidAotProfilerPort)e avvia l'attività predefinita.
Questa destinazione legacy si applica ai progetti supportati .NET 10 e versioni precedenti che usano Mono. Non configura il profiling né di CoreCLR né di NativeAOT.
La porta TCP predefinita è 9999.
Aggiunta in Xamarin.Android 10.2.
Pulire
Rimuove tutti i file generati dal processo di compilazione.
CalcolareDispositiviDisponibili
Esegue query e restituisce un elenco di dispositivi e emulatori Android disponibili che possono essere usati con dotnet run.
Questa destinazione viene chiamata automaticamente dal comando di .NET SDK per supportare la selezione dei dotnet run dispositivi tramite l'opzione --device . Restituisce un @(Devices) gruppo di elementi in cui ogni dispositivo ha i metadati seguenti:
- Descrizione: nome descrittivo (ad esempio, "Pixel 7 - API 35" per gli emulatori, "Pixel 6 Pro" per i dispositivi fisici)
- Tipo: "Dispositivo" o "Emulatore"
- Stato: stato del dispositivo - "Online", "Offline", "Non autorizzato" o "NoPermissions"
- Modello: identificatore del modello di dispositivo (facoltativo)
- Prodotto: nome del prodotto (facoltativo)
- Dispositivo: nome del dispositivo (facoltativo)
- TransportId: ID trasporto adb (facoltativo)
Ad esempio, per elencare tutti i dispositivi disponibili:
dotnet build -t:ComputeAvailableDevices
Questa destinazione fa parte della specifica di selezione del dispositivo .NET SDK e abilita comandi come:
dotnet run --device <device-serial>
Quando un dispositivo viene selezionato tramite la $(Device) proprietà , la $(AdbTarget) proprietà viene impostata automaticamente come destinazione di tale dispositivo specifico per tutte le operazioni adb.
Aggiunta in .NET 11.
FinishAotProfiling
Deve essere chiamato dopo l'obiettivo BuildAndStartAotProfiling.
Questa destinazione legacy si applica ai progetti supportati .NET 10 e versioni precedenti che usano Mono.
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 -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.
GetApplicationArtifacts
Crea e restituisce il @(ApplicationArtifact) gruppo di elementi, che contiene i file APK e Android App Bundle prodotti dalla compilazione.
Questo target dipende sempre dal target richiesto Build, che genera e raccoglie gli artefatti della piattaforma in @(ApplicationArtifact). Le importazioni successive possono impostare o aggiungere target a $(GetApplicationArtifactsDependsOn) per aggiornare quegli elementi esistenti con metadati aggiuntivi prima che questo target o il target Publish li restituisca. La sostituzione $(GetApplicationArtifactsDependsOn) non rimuove la dipendenza richiesta Build .
I metadati comuni dell'applicazione vengono letti dal file AndroidManifest.xml finale risultante dall'unione prima della raccolta degli artefatti. I valori finali del manifesto hanno la precedenza sulle proprietà del progetto corrispondenti, incluso quando un manifesto personalizzato esegue l'override dei valori generati o $(GenerateApplicationManifest) è false. Un android:label riferimento a una risorsa, @string/app_name ad esempio rimane un riferimento a una risorsa. Nessuna impostazione locale viene selezionata quando vengono restituiti i metadati.
Richiama direttamente questo target quando un job CI o uno strumento personalizzato necessita dei percorsi degli artefatti di output della build:
dotnet build MyApp.csproj -t:GetApplicationArtifacts -getTargetResult:GetApplicationArtifacts
Usare il risultato di destinazione Publish se il chiamante ha bisogno degli output di pubblicazione copiati in $(PublishDir):
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
Installa
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 sopra un'installazione SDK esistente.
La proprietà $(AndroidManifestType) MSBuild controlla quale repository del Visual Studio SDK Manager viene utilizzato per il rilevamento del nome e della versione del pacchetto, oltre che per ottenere gli URL per il download.
Pubblicazione
Compila l'applicazione, copia i file apk finali e il bundle di app Android in $(PublishDir)e restituisce il @(ApplicationArtifact) gruppo di elementi.
Gli elementi restituiti utilizzano i percorsi copiati della directory di pubblicazione e mantengono i metadati degli artefatti come %(PackageFormat), %(ApplicationId), %(PackageId), %(Signed), %(ApplicationTitle), %(ApplicationName), %(Abi), %(ApplicationDisplayVersion) e %(ApplicationVersion).
Publish esegue prima GetApplicationArtifacts, che compila il progetto e popola @(ApplicationArtifact) con gli artefatti prodotti dalla piattaforma. I target aggiunti a $(GetApplicationArtifactsDependsOn) vengono quindi eseguiti su quegli elementi esistenti prima che Publish calcoli i file da pubblicare e prima che Publish restituisca @(ApplicationArtifact), in modo che le importazioni successive possano aggiungere metadati per i chiamanti della pubblicazione.
Ad esempio, per interrogare gli artefatti pubblicati:
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
EseguiConRegistrazione
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 dell'obiettivo:
-
/p:RunLogVerbose=trueabilita la registrazione di runtime ancora più dettagliata -
/p:RunLogDelayInMS=XdoveXdeve essere sostituito con il tempo in millisecondi da attendere 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.
I file di pacchetto creati da questa destinazione sono disponibili nel @(ApplicationArtifact) gruppo di elementi.
StartAndroidActivity
Avvia l'attività predefinita nel dispositivo o nell'emulatore in esecuzione.
Per avviare un'attività diversa, impostare
$(AndroidLaunchActivity) proprietà al 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.