Freigeben über


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 wo X sollte die Zeit in Millisekunden ersetzt werden, um zu warten, bevor die Protokollausgabe in die Datei geschrieben wird. Wird standardmäßig auf 1000 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.