Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.slnx
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.
Tento starší cíl platí pro podporované projekty pro .NET 10 a starší, které používají Mono. Nenakonfiguruje profilaci CoreCLR ani NativeAOT.
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.
Tento starší cíl platí pro podporované projekty pro .NET 10 a starší verze, které používají Mono.
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 -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.
GetApplicationArtifacts
Vytvoří a vrátí @(ApplicationArtifact) skupinu položek, která obsahuje soubory APK a Android App Bundle vytvořené sestavením.
Tento cíl vždy závisí na požadovaném cíli Build, který vytváří a shromažďuje artefakty platformy do @(ApplicationArtifact). Pozdější importy mohou nastavit nebo připojit cíle k $(GetApplicationArtifactsDependsOn), aby se tyto existující položky aktualizovaly o další metadata předtím, než je vrátí tento cíl nebo cíl Publish. Nahrazení $(GetApplicationArtifactsDependsOn) neodebere požadovanou Build závislost.
Společná metadata aplikace se čtou z konečného sloučeného AndroidManifest.xml předtím, než jsou artefakty shromážděny. Konečné hodnoty manifestu mají přednost před odpovídajícími vlastnostmi projektu, včetně případů, kdy vlastní manifest přepíše vygenerované hodnoty nebo $(GenerateApplicationManifest) je false. Odkaz android:label na prostředek, například @string/app_name zůstává odkazem na prostředek. Při vrácení metadat se nevybere žádné národní prostředí.
Tento cíl volejte přímo, když úloha CI nebo vlastní nástroj potřebuje cesty k artefaktům výstupu sestavení:
dotnet build MyApp.csproj -t:GetApplicationArtifacts -getTargetResult:GetApplicationArtifacts
Publish Cílový výsledek použijte, když volající potřebuje zkopírované výstupy publikování v$(PublishDir):
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
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í.
Publish
Sestaví aplikaci, zkopíruje konečné soubory APK a Android App Bundle do $(PublishDir)a vrátí @(ApplicationArtifact) skupinu položek.
Vrácené položky používají zkopírované cesty publikačního adresáře a zachovávají metadata artefaktů, jako jsou %(PackageFormat), %(Signed), %(PackageId), %(Abi), %(ApplicationId), %(ApplicationTitle), %(ApplicationName), %(ApplicationDisplayVersion) a %(ApplicationVersion).
Publish Nejprve se spustí GetApplicationArtifacts, který sestaví projekt a naplní @(ApplicationArtifact) artefakty vytvořené platformou. Cíle připojené k $(GetApplicationArtifactsDependsOn) se pak spustí nad těmito existujícími položkami předtím, než Publish vypočítá soubory pro publikování a než Publish vrátí @(ApplicationArtifact), takže pozdější importy mohou přidat metadata pro volající publikování.
Pokud chcete například dotazovat publikované artefakty:
dotnet build MyApp.csproj -t:Publish -getTargetResult:Publish
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=trueumožňuje ještě podrobnější protokolování za běhu. -
/p:RunLogDelayInMS=XkdeXby se měl nahradit časem v milisekundách, aby se čekalo před zápisem výstupu protokolu do souboru. Výchozí hodnota je1000.
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.
Soubory balíčků vytvořené tímto cílem jsou k dispozici ve @(ApplicationArtifact) skupině položek.
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.