Buildziele
Die folgenden Buildziele werden in .NET für Android-Projekte definiert.
Erstellen
Hiermit werden der Quellcode und alle Abhängigkeiten in einem Projekt erstellt.
Dieses Ziel erstellt kein Android-Paket (.apk
-Datei).
Verwenden Sie zum Erstellen eines Android-Pakets das Ziel SignAndroidPackage, oder legen Sie die Eigenschaft $(AndroidBuildApplicationPackage) beim Erstellen auf TRUE fest:
msbuild /p:AndroidBuildApplicationPackage=True App.sln
BuildAndStartAotProfiling
Dieses Ziel erstellt die App mit einem eingebetteten AOT-Profiler, legt den TCP-Port für den Profiler auf $(AndroidAotProfilerPort)
fest und startet die Standardaktivität.
Der standardmäßige TCP-Port ist 9999
.
Ab Xamarin.Android 10.2 verfügbar.
Clean
Hiermit werden alle vom Buildprozess generierten Dateien entfernt.
FinishAotProfiling
Dieses Ziel muss nach dem Ziel BuildAndStartAotProfiling aufgerufen werden.
Es sammelt AOT-Profilerdaten über den TCP-Port vom Gerät oder Emulator$(AndroidAotProfilerPort)
und schreibt sie in $(AndroidAotCustomProfilePath)
.
Die Standardwerte für Port und benutzerdefiniertes Profil sind 9999
und custom.aprof
.
Wenn Sie weitere Optionen übergeben möchten aprofutil
, legen Sie sie in der $(AProfUtilExtraOptions)
-Eigenschaft.
Dieser entspricht:
aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"
Ab Xamarin.Android 10.2 verfügbar.
GetAndroidDependencies
Erstellt die @(AndroidDependency)
Elementgruppe, die vom InstallAndroidDependencies
Ziel verwendet wird, um zu bestimmen, welche Android SDK-Pakete installiert werden sollen.
Installieren
Hiermit wird das Android-Paket auf dem Standardgerät oder virtuellen Gerät erstellt, signiert und installiert.
Die $(AdbTarget)
-Eigenschaft gibt das Android-Zielgerät an, auf dem das Android-Paket installiert oder entfernt werden soll.
# 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
Ruft das GetAndroidDependencies
Ziel auf und installiert dann die android SDK-Pakete, die in der @(AndroidDependency)
Elementgruppe angegeben sind.
dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"
Dies -f net8.0-android
ist erforderlich, da dieses Ziel ein .NET für Android-spezifisches Ziel ist. Wenn Sie dieses Argument weglassen, erhalten Sie die folgende Fehlermeldung:
error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.
Die AndroidSdkDirectory
und JavaSdkDirectory
die Eigenschaften sind erforderlich, da wir wissen müssen, wo die erforderlichen Komponenten installiert werden sollen. Diese Verzeichnisse können leer oder vorhanden sein. Sdk-Komponenten werden oben auf einer vorhandenen SDK-Installation installiert.
Die $(AndroidManifestType)
MSBuild-Eigenschaft steuert, welches Visual Studio SDK Manager-Repository für paketname- und paketversionserkennung und URLs zum Herunterladen verwendet wird.
RunWithLogging
Führt die Anwendung mit aktivierter zusätzlicher Protokollierung aus. Hilfreich beim Melden oder Untersuchen eines Problems mit der Anwendung oder der Laufzeit. Bei erfolgreicher Ausführung werden auf dem Bildschirm gedruckte Nachrichten den Speicherort der Protokolldatei mit den protokollierten Nachrichten angezeigt.
Eigenschaften, die sich auf die Funktionsweise des Ziels auswirken:
/p:RunLogVerbose=true
ermöglicht noch ausführlichere Protokollierung von MonoVM/p:RunLogDelayInMS=X
woX
sollte die Zeit in Millisekunden ersetzt werden, um zu warten, bevor die Protokollausgabe in die Datei geschrieben wird. Wird standardmäßig auf1000
festgelegt.
SignAndroidPackage
Hiermit wird die Android-Paketdatei (.apk
) erstellt und signiert.
Verwenden Sie diese Option mit /p:Configuration=Release
, um eigenständige „Releasepakete“ zu generieren.
StartAndroidActivity
Dieses Ziel startet die Standardaktivität auf dem Gerät oder dem verwendeten Emulator.
Legen Sie zum Starten einer anderen Aktivität für die Eigenschaft $(AndroidLaunchActivity)
-Eigenschaft zum Aktivitätsnamen.
Dieser entspricht:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
Ab Xamarin.Android 10.2 verfügbar.
StopAndroidPackage
Dieses Ziel beendet das Anwendungspaket auf dem Gerät oder dem verwendeten Emulator vollständig.
Dieser entspricht:
adb shell am force-stop @PACKAGE_NAME@
Ab Xamarin.Android 10.2 verfügbar.
Deinstallieren
Dieses Ziel deinstalliert das Android-Paket vom Standardgerät oder virtuellen Gerät.
Die $(AdbTarget)
-Eigenschaft gibt das Android-Zielgerät an, auf dem das Android-Paket installiert oder entfernt werden soll.
UpdateAndroidResources
Es wird ein Update für die Datei Resource.designer.cs
ausgeführt.
Dieses Ziel wird normalerweise von der IDE aufgerufen, wenn dem Projekt neue Ressourcen hinzugefügt werden.