Cíle sestavení

Následující cíle sestavení jsou definovány v .NET pro projekty Android.

Sestavení

Sestaví zdrojový kód v rámci projektu a všechny závislosti.

Tento cíl nevytvoří balíček pro Android (.apk soubor). Pokud chcete vytvořit balíček pro Android, použijte cíl SignAndroidPackagenebo při vytváření nastavte vlastnost $(AndroidBuildApplicationPackage) na True:

msbuild /p:AndroidBuildApplicationPackage=True App.sln

Sestavení a spuštění AOT profilování

Sestaví aplikaci s vloženým profilerem AOT, nastaví port TCP profileru na $(AndroidAotProfilerPort)a spustí výchozí aktivitu.

Výchozí port TCP je 9999.

Přidáno v Xamarin.Android 10.2.

Čistý

Odebere všechny soubory vygenerované procesem sestavení.

VyhodnotitDostupnáZařízení

Vyhledá a vrátí seznam dostupných zařízení a emulátorů s Androidem, které lze použít sdotnet run.

Tento cíl se volá automaticky příkazem sady .NET SDK dotnet run , který podporuje výběr zařízení prostřednictvím --device této možnosti. Vrátí @(Devices) skupinu položek, ve které má každé zařízení následující metadata:

  • Popis: Název přívětivý pro člověka (např. „Pixel 7 – API 35“ pro emulátory, „Pixel 6 Pro“ pro fyzická zařízení)
  • Typ: "Zařízení" nebo "Emulátor"
  • Stav: Stav zařízení – Online, Offline, Neautorizováno nebo NoPermissions
  • Model: Identifikátor modelu zařízení (volitelné)
  • Produkt: Název produktu (volitelné)
  • Zařízení: Název zařízení (volitelné)
  • TransportId: ID přenosu adb (volitelné)

Pokud například chcete zobrazit seznam všech dostupných zařízení:

dotnet build -t:ComputeAvailableDevices

Tento cíl je součástí specifikace výběru zařízení sady .NET SDK a umožňuje příkazy, jako jsou:

dotnet run --device <device-serial>

Když je zařízení vybráno prostřednictvím $(Device) vlastnosti, vlastnost se automaticky nastaví tak, $(AdbTarget) aby cílila na konkrétní zařízení pro všechny operace adb.

Přidáno v .NET 11.

FinishAotProfiling

Musí být volána po cíli BuildAndStartAotProfiling.

Shromažďuje data profileru AOT ze zařízení nebo emulátoru prostřednictvím portu TCP. $(AndroidAotProfilerPort) a zapíše je do $(AndroidAotCustomProfilePath).

Výchozí hodnoty pro port a vlastní profil jsou 9999 a custom.aprof.

Pokud chcete předat další možnosti aprofutil, nastavte je v $(AProfUtilExtraOptions) vlastnost.

To odpovídá:

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

Přidáno v Xamarin.Android 10.2.

GetAndroidDependencies

Vytvoří skupinu položek @(AndroidDependency), kterou InstallAndroidDependencies cíl používá k určení, které balíčky sady Android SDK se mají nainstalovat.

Install

Vytvoří, podepíše a nainstaluje balíček Pro Android na výchozí zařízení nebo virtuální zařízení.

Vlastnost $(AdbTarget) určuje cílové zařízení s Androidem, do které se balíček Androidu může nainstalovat nebo z ní odebrat.

# 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

Zavolá cílový prvek GetAndroidDependencies, a pak nainstaluje balíčky sady SDK pro Android zadané ve skupině položek @(AndroidDependency).

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

-f net8.0-android je povinný, protože tento cíl je specifický pro .NET pro Android. Pokud tento argument vynecháte, zobrazí se následující chyba:

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

Vlastnosti AndroidSdkDirectory a JavaSdkDirectory vlastnosti se vyžadují, protože potřebujeme vědět, kam se mají požadované součásti nainstalovat. Tyto adresáře můžou být prázdné nebo existující. Komponenty sady SDK se nainstalují nad stávající instalací sady SDK.

Vlastnost $(AndroidManifestType) MSBuild řídí, které úložiště Visual Studio SDK Manager se používá pro zjišťování názvů balíčků a verzí balíčku a adresy URL ke stažení.

RunWithLogging

Spustí aplikaci s povoleným dalším protokolováním. Užitečné při hlášení nebo zkoumání problému s aplikací nebo běhovým prostředím. V případě úspěchu budou zprávy vytištěné na obrazovce zobrazovat umístění souboru logcat se zaprotokolovanými zprávami.

Vlastnosti, které ovlivňují fungování cíle:

  • /p:RunLogVerbose=true umožňuje ještě více podrobného protokolování z MonoVM.
  • /p:RunLogDelayInMS=X kde X by se měl nahradit časem v milisekundách, aby se čekalo před zápisem výstupu protokolu do souboru. Výchozí hodnota je 1000.

PodepsatBalíčekAndroid

Vytvoří a podepíše soubor balíčku (.apk) pro Android.

/p:Configuration=Release Používá se k vygenerování samostatných balíčků Release.

StartAndroidActivity

Spustí výchozí aktivitu na zařízení nebo spuštěném emulátoru.

Chcete-li zahájit jinou aktivitu, nastavte $(AndroidLaunchActivity) vlastnost k názvu aktivity.

To odpovídá:

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

Přidáno v Xamarin.Android 10.2.

StopAndroidPackage

Úplně zastaví balíček aplikace v zařízení nebo spuštěném emulátoru.

To odpovídá:

adb shell am force-stop @PACKAGE_NAME@

Přidáno v Xamarin.Android 10.2.

Uninstall

Odinstaluje balíček Androidu z výchozího zařízení nebo virtuálního zařízení.

Vlastnost $(AdbTarget) určuje cílové zařízení s Androidem, do které se balíček Androidu může nainstalovat nebo z ní odebrat.

UpdateAndroidResources

Aktualizuje Resource.designer.cs soubor.

Tato cílová úloha je obvykle volána integrovaným vývojovým prostředím (IDE), když jsou do projektu přidány nové prostředky.