建置目標
下列組建目標定義於適用於 Android 專案的 .NET 中。
建立
在專案和所有相依性內建置原始程式碼。
此目標 不會 建立Android套件(.apk
檔案)。
若要建立 Android 套件,請使用 SignAndroidPackage 目標,或在建置時將 '$(AndroidBuildApplicationPackage) 属性設定為 True:
msbuild /p:AndroidBuildApplicationPackage=True App.sln
BuildAndStartAotProfiling
使用內嵌的 AOT 分析工具建置應用程式、將分析工具 TCP 連接埠設定為 $(AndroidAotProfilerPort)
,然後啟動預設活動。
預設 TCP 連接埠為 9999
。
已在 Xamarin.Android 10.2 中新增。
Clean
拿掉建置程式所產生的所有檔案。
FinishAotProfiling
必須在 BuildAndStartAotProfiling 目標之後呼叫。
透過 TCP 連接埠從裝置或模擬器收集 AOT 分析工具數據 $(AndroidAotProfilerPort)
將它們 $(AndroidAotCustomProfilePath)
寫入 。
連接埠和自訂設定檔的預設值為 9999
和 custom.aprof
。
若要將其他選項傳遞至 aprofutil
,請在 中設定這些選項 $(AProfUtilExtraOptions)
屬性。
這相當於:
aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"
已在 Xamarin.Android 10.2 中新增。
GetAndroidDependencies
@(AndroidDependency)
建立專案群組,此群組由InstallAndroidDependencies
目標用來判斷要安裝的Android SDK 套件。
安裝
建立、簽署及安裝 Android 套件到預設裝置或虛擬設備。
屬性 $(AdbTarget)
會指定 Android 套件可安裝至或移除的 Android 目標裝置。
# 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
GetAndroidDependencies
呼叫目標,然後安裝專案群組中指定的 @(AndroidDependency)
Android SDK 套件。
dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"
-f net8.0-android
需要 ,因為此目標是適用於Android特定目標的 .NET。 如果您省略此自變數,將會收到下列錯誤:
error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.
AndroidSdkDirectory
和 JavaSdkDirectory
屬性是必要的,因為我們必須知道安裝必要元件的位置。 這些目錄可以是空的或現有的目錄。 Sdk 元件會安裝在現有的 SDK 安裝上。
$(AndroidManifestType)
MSBuild 屬性會控制 Visual Studio SDK Manager 存放庫用於套件名稱和套件版本偵測,以及要下載的 URL。
RunWithLogging
執行已啟用其他記錄的應用程式。 在報告或調查應用程式或運行時間的問題時很有用。 如果成功,列印到畫面的訊息將會顯示記錄訊息的logcat檔案位置。
影響目標運作方式的屬性:
/p:RunLogVerbose=true
從MonoVM啟用更詳細的記錄/p:RunLogDelayInMS=X
其中X
應該以毫秒為單位的時間取代,再將記錄輸出寫入檔案。 預設為1000
。
SignAndroidPackage
建立並簽署Android套件 (.apk
) 檔案。
與 /p:Configuration=Release
搭配使用來產生獨立的「發行」套件。
StartAndroidActivity
在裝置或執行中的模擬器上啟動預設活動。
若要啟動不同的活動,請設定 $(AndroidLaunchActivity)
活動名稱的屬性。
這相當於:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
已在 Xamarin.Android 10.2 中新增。
StopAndroidPackage
完全停止裝置或執行中的模擬器上的應用程式套件。
這相當於:
adb shell am force-stop @PACKAGE_NAME@
已在 Xamarin.Android 10.2 中新增。
解除安裝
從預設裝置或虛擬設備卸載 Android 套件。
屬性 $(AdbTarget)
會指定 Android 套件可安裝至或移除的 Android 目標裝置。
UpdateAndroidResources
更新 Resource.designer.cs
檔案。
當專案新增資源時,IDE 通常會呼叫此目標。