Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki derleme hedefleri Android projeleri için .NET'te tanımlanır.
İnşa et
Kaynak kodu bir proje ve tüm bağımlılıklar içinde oluşturur.
Bu hedef bir Android paketi ( dosyası) .apk.
Android paketi oluşturmak için SignAndroidPackage hedefini kullanın veya oluştururken '$(AndroidBuildApplicationPackage) özelliğini True olarak ayarlayın:
msbuild /p:AndroidBuildApplicationPackage=True App.sln
Aot Profilleme Yap ve Başlat
Uygulamayı gömülü bir AOT profil oluşturucu ile oluşturur, profil oluşturucunun TCP bağlantı noktasını $(AndroidAotProfilerPort) olarak ayarlar ve varsayılan etkinliği başlatır.
Varsayılan TCP bağlantı noktası şeklindedir 9999.
Xamarin.Android 10.2'de eklendi.
Temiz
Derleme işlemi tarafından oluşturulan tüm dosyaları kaldırır.
Mevcut Cihazları Hesapla
ile dotnet runkullanılabilecek kullanılabilir Android cihazlarının ve öykünücülerinin listesini sorgular ve döndürür.
Bu hedef, cihaz seçimini dotnet run seçeneği aracılığıyla desteklemek için .NET SDK'sının --device komutu tarafından otomatik olarak çağrılır. Her cihazın aşağıdaki meta verilerine sahip olduğu bir @(Devices) öğe grubu döndürür:
- Açıklama: İnsan dostu bir ad (öykünücüler için "Piksel 7 - API 35", fiziksel cihazlar için "Pixel 6 Pro" gibi)
- Tür: "Cihaz" veya "Öykünücü"
- Durum: Cihaz durumu - "Çevrimiçi", "Çevrimdışı", "Yetkisiz" veya "İzinsiz"
- Model: Cihaz modeli tanımlayıcısı (isteğe bağlı)
- Ürün: Ürün adı (isteğe bağlı)
- Cihaz: Cihaz adı (isteğe bağlı)
- TransportId: adb aktarım kimliği (isteğe bağlı)
Örneğin, kullanılabilir tüm cihazları listelemek için:
dotnet build -t:ComputeAvailableDevices
Bu hedef , .NET SDK cihaz seçimi belirtiminin bir parçasıdır ve aşağıdaki gibi komutları etkinleştirir:
dotnet run --device <device-serial>
Özelliği aracılığıyla $(Device) bir cihaz seçildiğinde, $(AdbTarget) özellik otomatik olarak tüm adb işlemleri için ilgili cihazı hedefleye ayarlanır.
.NET 11'de eklendi.
AotProfil Oluşturmayı Bitir
BuildAndStartAotProfiling hedefinden sonra çağrılmalıdır.
TCP bağlantı noktası üzerinden cihazdan veya öykünücüden AOT profil oluşturucu verilerini toplar
$(AndroidAotProfilerPort) ve bunları öğesine $(AndroidAotCustomProfilePath)yazar.
Bağlantı noktası ve özel profil için varsayılan değerler 9999 ve custom.aprof'dir.
Ek seçenekleri aprofutil'a geçirmek için, bu seçenekleri
$(AProfUtilExtraOptions) özelliği.
Bu, şuna eşdeğerdir:
aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"
Xamarin.Android 10.2'de eklendi.
GetAndroidDependencies
@(AndroidDependency) Hedef tarafından InstallAndroidDependencies yüklenecek Android SDK paketlerini belirlemek için kullanılan öğe grubunu oluşturur.
Install
Android paketini oluşturur, imzalar ve varsayılan cihaza veya sanal cihaza yükler.
özelliği, $(AdbTarget) Android paketinin yüklenebileceği veya kaldırılabileceği Android hedef cihazını belirtir.
# Install package onto emulator via -e
# Use `/Library/Frameworks/Mono.framework/Commands/msbuild` on OS X
MSBuild /t:Install ProjectName.csproj /p:AdbTarget=-e
Android Bağımlılıklarını Yükle
GetAndroidDependencies Hedefi çağırır, ardından öğe grubunda belirtilen @(AndroidDependency) Android SDK paketlerini yükler.
dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"
-f net8.0-android Bu hedef, Android'e özgü bir .NET hedefi olduğundan gereklidir. Bu bağımsız değişkeni atlarsanız aşağıdaki hatayı alırsınız:
error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.
AndroidSdkDirectory Gerekli bileşenlerin nereye yükleneceğini bilmemiz gerektiğinden ve JavaSdkDirectory özellikleri gereklidir. Bu dizinler boş veya mevcut olabilir. Sdk bileşenleri, var olan bir sdk yüklemesinde en üste yüklenir.
$(AndroidManifestType) MSBuild özelliği, paket adı ve paket sürümü algılama için hangi Visual Studio SDK Yöneticisi deposunun kullanılacağını ve indirilmesi gereken URL'leri denetler.
RunWithLogging
Uygulamayı gelişmiş günlük kaydı ile çalıştırır. Uygulama veya çalışma zamanıyla ilgili bir sorunu bildirirken veya araştırırken yararlı olur. Başarılı olursa, ekrana yazdırılan iletiler günlüğe kaydedilen iletilerin bulunduğu logcat dosyasının konumunu gösterir.
Hedefin çalışma şeklini etkileyen özellikler:
-
/p:RunLogVerbose=trueMonoVM'den daha ayrıntılı günlüğe kaydetmeyi etkinleştirir -
/p:RunLogDelayInMS=Xburada, günlük çıkışını dosyaya yazmadan önceXmilisaniye cinsinden bekleme süresi ile değiştirilmelidir. Varsayılan olarak1000değerini alır.
SignAndroidPackage
Android paket (.apk) dosyasını oluşturur ve imzalar.
"Bağımsız 'Release' paketleri oluşturmak için /p:Configuration=Release ile kullanın."
StartAndroidActivity (Android Aktivitesini Başlat)
Cihazda veya çalışan öykünücüde varsayılan etkinliği başlatır.
Farklı bir etkinlik başlatmak için
$(AndroidLaunchActivity) özelliğini etkinlik adına ekleyin.
Bu, şuna eşdeğerdir:
adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)
Xamarin.Android 10.2'de eklendi.
StopAndroidPackage
Cihazdaki veya çalışan öykünücüdeki uygulama paketini tamamen durdurur.
Bu, şuna eşdeğerdir:
adb shell am force-stop @PACKAGE_NAME@
Xamarin.Android 10.2'de eklendi.
Uninstall
Android paketini varsayılan cihazdan veya sanal cihazdan kaldırır.
özelliği, $(AdbTarget) Android paketinin yüklenebileceği veya kaldırılabileceği Android hedef cihazını belirtir.
AndroidKaynaklarınıGüncelle
Resource.designer.cs Dosyayı güncelleştirir.
Bu hedef genellikle projeye yeni kaynaklar eklendiğinde IDE tarafından çağrılır.