Bagikan melalui


Target Build

Target build berikut didefinisikan dalam .NET untuk proyek Android.

Build

Membangun kode sumber dalam proyek dan semua dependensi.

Target ini tidak membuat paket Android (.apk file). Untuk membuat paket Android, gunakan target SignAndroidPackage , atau atur properti '$(AndroidBuildApplicationPackage) ke True saat membangun:

msbuild /p:AndroidBuildApplicationPackage=True App.sln

BuildAndStartAotProfiling

Membangun aplikasi dengan profiler AOT yang disematkan, mengatur port TCP profiler ke $(AndroidAotProfilerPort), dan memulai aktivitas default.

Port TCP default adalah 9999.

Ditambahkan dalam Xamarin.Android 10.2.

Bersihkan

Menghapus semua file yang dihasilkan oleh proses build.

FinishAotProfiling

Harus dipanggil setelah target BuildAndStartAotProfiling.

Mengumpulkan data profiler AOT dari perangkat atau emulator melalui port TCP $(AndroidAotProfilerPort) dan menulisnya ke $(AndroidAotCustomProfilePath).

Nilai default untuk port dan profil kustom adalah 9999 dan custom.aprof.

Untuk meneruskan opsi tambahan ke aprofutil, atur di properti $(AProfUtilExtraOptions).

Tindakan ini setara dengan:

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

Ditambahkan dalam Xamarin.Android 10.2.

GetAndroidDependencies

@(AndroidDependency) Membuat grup item, yang digunakan oleh InstallAndroidDependencies target untuk menentukan paket Android SDK mana yang akan diinstal.

Instal

Membuat, menandatangani, dan menginstal paket Android ke perangkat default atau perangkat virtual.

Properti $(AdbTarget) menentukan perangkat target Android tempat paket Android dapat diinstal atau dihapus.

# 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 Memanggil target, lalu menginstal paket Android SDK yang ditentukan dalam @(AndroidDependency) grup item.

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

-f net8.0-android Diperlukan karena target ini adalah .NET untuk target spesifik Android. Jika Anda menghilangkan argumen ini, Anda akan mendapatkan kesalahan berikut:

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

Properti AndroidSdkDirectory dan JavaSdkDirectory diperlukan karena kita perlu tahu di mana menginstal komponen yang diperlukan. Direktori ini bisa kosong atau sudah ada. Komponen Sdk akan diinstal di atas pada penginstalan sdk yang ada.

Properti $(AndroidManifestType) MSBuild mengontrol repositori Visual Studio SDK Manager mana yang digunakan untuk deteksi nama paket dan versi paket, dan URL untuk diunduh.

RunWithLogging

Menjalankan aplikasi dengan pengelogan tambahan diaktifkan. Berguna saat melaporkan atau menyelidiki masalah dengan aplikasi atau runtime. Jika berhasil, pesan yang dicetak ke layar akan menampilkan lokasi file logcat dengan pesan yang dicatat.

Properti yang memengaruhi cara kerja target:

  • /p:RunLogVerbose=true memungkinkan pengelogan verbose yang lebih banyak lagi dari MonoVM
  • /p:RunLogDelayInMS=X di mana X harus diganti dengan waktu dalam milidetik untuk menunggu sebelum menulis output log ke file. Default ke 1000.

SignAndroidPackage

Membuat dan menandatangani file paket Android (.apk).

Gunakan dengan /p:Configuration=Release untuk menghasilkan paket "Rilis" mandiri.

StartAndroidActivity

Memulai aktivitas default pada perangkat atau emulator yang sedang berjalan.

Untuk memulai aktivitas yang berbeda, atur $(AndroidLaunchActivity) properti ke nama aktivitas.

Tindakan ini setara dengan:

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

Ditambahkan dalam Xamarin.Android 10.2.

StopAndroidPackage

Sepenuhnya menghentikan paket aplikasi pada perangkat atau emulator yang sedang berjalan.

Tindakan ini setara dengan:

adb shell am force-stop @PACKAGE_NAME@

Ditambahkan dalam Xamarin.Android 10.2.

Menghapus instalan

Menghapus instalan paket Android dari perangkat default atau perangkat virtual.

Properti $(AdbTarget) menentukan perangkat target Android tempat paket Android dapat diinstal atau dihapus.

UpdateAndroidResources

Resource.designer.cs Memperbarui file.

Target ini biasanya dipanggil oleh IDE ketika sumber daya baru ditambahkan ke proyek.