Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Die App 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.
Hinzugefügt in Xamarin.Android 10.2.
Reinigen
Hiermit werden alle vom Buildprozess generierten Dateien entfernt.
BerechneVerfügbareGeräte
Ermittelt und gibt eine Liste der verfügbaren Android-Geräte und Emulatoren zurück, die mit dotnet run verwendet werden können.
Dieses Ziel wird automatisch vom Befehl des .NET SDK dotnet run aufgerufen, um die Geräteauswahl über die --device Option zu unterstützen. Es gibt eine @(Devices) Elementgruppe zurück, in der jedes Gerät über die folgenden Metadaten verfügt:
- Beschreibung: Ein benutzerfreundlicher Name (z. B. "Pixel 7 – API 35" für Emulatoren, "Pixel 6 Pro" für physische Geräte)
- Typ: Entweder "Gerät" oder "Emulator"
- Status: Gerätestatus – "Online", "Offline", "Nicht autorisiert" oder "NoPermissions"
- Modell: Der Gerätemodellbezeichner (optional)
- Produkt: Der Produktname (optional)
- Gerät: Der Gerätename (optional)
- TransportId: Die adb-Transport-ID (optional)
So können Sie beispielsweise alle verfügbaren Geräte auflisten:
dotnet build -t:ComputeAvailableDevices
Dieses Ziel ist Teil der .NET SDK-Geräteauswahlspezifikation und ermöglicht Befehle wie:
dotnet run --device <device-serial>
Wenn ein Gerät über die $(Device) Eigenschaft ausgewählt wird, wird die $(AdbTarget) Eigenschaft automatisch auf dieses bestimmte Gerät für alle adb-Vorgänge festgelegt.
In .NET 11 hinzugefügt.
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 zu $(AndroidAotCustomProfilePath).
Die Standardwerte für Port und benutzerdefiniertes Profil sind 9999 und custom.aprof.
Wenn Sie zusätzliche Optionen an aprofutil übergeben möchten, legen Sie diese in der
$(AProfUtilExtraOptions)-Eigenschaft.
Das 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
Installiere Android-Abhängigkeiten
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 angezeigte Nachrichten den Speicherort der Logcat-Datei mit den Nachrichten anzeigen.
Eigenschaften, die sich auf die Funktionsweise des Ziels auswirken:
-
/p:RunLogVerbose=trueermöglicht noch verbosere Protokollierung von MonoVM -
/p:RunLogDelayInMS=XwoXdurch die Wartezeit in Millisekunden ersetzt werden soll, bevor die Protokollausgabe in die Datei geschrieben wird. Wird standardmäßig auf1000festgelegt.
Android-Paket signieren
Hiermit wird die Android-Paketdatei (.apk) erstellt und signiert.
Verwenden Sie /p:Configuration=Release, um eigenständige „Release“-Pakete zu generieren.
StartAndroidActivity
Startet die Standardaktivität auf dem Gerät oder dem laufenden Emulator.
Um eine andere Aktivität zu starten, legen Sie die entsprechende Eigenschaft fest.
$(AndroidLaunchActivity)-Eigenschaft zu dem Aktivitätsnamen hinzufügen.
Das entspricht:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
Ab Xamarin.Android 10.2 verfügbar.
StopAndroidPackage
Beendet das Anwendungspaket vollständig auf dem Gerät oder dem laufenden Emulator.
Das entspricht:
adb shell am force-stop @PACKAGE_NAME@
Ab Xamarin.Android 10.2 verfügbar.
Deinstallieren
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.
Android-RessourcenAktualisieren
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.