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.
MSBuild özellikleri hedeflerin davranışını denetler. Bunlar proje dosyasında( örneğin MyApp.csproj) bir MSBuild PropertyGroup içinde belirtilir.
AdbTarget
özelliği, $(AdbTarget) Android paketinin yüklenebileceği veya kaldırılabileceği Android hedef cihazını belirtir.
Bu özelliğin değeri Hedef Cihaz seçeneğiyle adbaynıdır.
AfterGenerateAndroidManifest
Bu özellikte listelenen MSBuild Hedefleri, AndroidManifest.xml dosyasının içinde $(IntermediateOutputPath)oluşturulduğu iç _GenerateJavaStubs hedef sonrasında doğrudan çalışır. Oluşturulan AndroidManifest.xml dosyada herhangi bir değişiklik yapmak istiyorsanız, bu uzantı noktasını kullanarak bunu yapabilirsiniz.
Xamarin.Android 9.4'te eklendi.
AndroidAapt2CompileExtraArgs
Android varlıklarını ve kaynaklarını işlerken aapt2 derleme komutuna geçirmek için komut satırı seçeneklerini belirtir.
Xamarin.Android 9.1'de eklendi.
AndroidAapt2LinkExtraArgs
Android varlıklarını ve kaynaklarını işlerken aapt2 link komutuna geçirmek için komut satırı seçeneklerini belirtir.
Xamarin.Android 9.1'de eklendi.
AndroidAddKeepAlives
Bağlayıcının erken nesne koleksiyonunu önlemek için bağlama projelerine çağrı ekleyip eklemeyeceğini GC.KeepAlive() denetleyen boole özelliği.
Varsayılan değer True , Yayın yapılandırma derlemeleri içindir.
Bu özellik Xamarin.Android 11.2'de eklendi.
AndroidAotAdditionalArguments
ya da $(AotAssemblies) $(AndroidEnableProfiledAot) olarak ayarlanmış projeler için görev sırasında Aot Mono derleyicisine seçenekler geçirilmesine trueizin veren bir dize özelliği.
Özelliğin dize değeri, Mono derleyiciler arası çağrılırken yanıt dosyasına eklenir.
Genel olarak, bu özellik boş bırakılmalıdır, ancak bazı özel senaryolarda yararlı esneklik sağlayabilir.
$(AndroidAotAdditionalArguments) özelliği ilgili $(AndroidExtraAotOptions) özellikten farklıdır; $(AndroidAotAdditionalArguments) veya --debug gibi --verbose tam tek başına boşlukla ayrılmış seçenekleri AOT derleyicisine geçirirken$(AndroidExtraAotOptions), AOT derleyicisinin seçeneğinin --aot bir parçası olan virgülle ayrılmış bağımsız değişkenler içerir.
AndroidAotCustomProfilePath
Profil oluşturucu verilerini tutmak için oluşturulması gereken dosya aprofutil .
AndroidAotProfiles
Geliştiricinin komut satırından AOT profilleri eklemesine olanak tanıyan bir dize özelliği. Mutlak yolların noktalı virgül veya virgülle ayrılmış listesidir. Xamarin.Android 10.1'de eklendi.
AndroidAotProfilerPort
Profil oluşturma verileri alınırken bağlanması gereken bağlantı noktası aprofutil .
AndroidAotEnableLazyLoad
Başlangıçta önceden yüklemek yerine AOT-d derlemelerinin gecikmeli (gecikmeli) yüklenmesini etkinleştirin. Varsayılan değer, True AOT'nin etkinleştirildiği yayın derlemeleri içindir.
.NET 6'da kullanıma sunulmuştur.
AndroidApkDigestAlgorithm
ile jarsigner -digestalgkullanılacak özet algoritmasını belirten dize değeri.
Varsayılan değer şudur: SHA-256. Xamarin.Android 10.0 ve önceki sürümlerde varsayılan değer şeklindeydi SHA1.
Xamarin.Android 9.4'te eklendi.
AndroidApkSignerAdditionalArguments
Geliştiricinin ara çubuğuna bağımsız değişkenler sağlamasına apksigner olanak tanıyan bir dize özelliği.
Xamarin.Android 8.2'ye eklendi.
AndroidApkSigningAlgorithm
ile jarsigner -sigalgkullanılacak imzalama algoritmasını belirten dize değeri.
Varsayılan değer şudur: SHA256withRSA. Xamarin.Android 10.0 ve önceki sürümlerde varsayılan değer şeklindeydi md5withRSA.
Xamarin.Android 8.2'ye eklendi.
AndroidApplication
Projenin bir Android Uygulaması (True) için mi yoksa android kitaplık projesi için mi (False yoksa mevcut mu) olduğunu gösteren boole değeri.
Bir Android paketinde yalnızca bir projesi <AndroidApplication>True</AndroidApplication> olabilir. (Ne yazık ki bu gereksinim doğrulanmadığından Android kaynaklarıyla ilgili küçük ve tuhaf hatalara neden olabilir.)
AndroidApplicationJavaClass
Bir sınıfın Android.App.Application'dan devralındığı zaman yerine android.app.Application kullanılacak tam Java sınıfı adı.
$(AndroidApplicationJavaClass) özelliği genellikle MSBuild özelliği gibi $(AndroidEnableMultiDex) diğer özellikler tarafından ayarlanır.
Xamarin.Android 6.1'de eklendi.
AndroidBinUtilsPath
yerel bağlayıcı ve asgibi ldAndroid binutil'lerini içeren bir dizinin yolu. Bu araçlar Xamarin.Android yüklemesine dahildir.
Varsayılan değer şudur: $(MonoAndroidBinDirectory)\binutils\bin\.
Xamarin.Android 10.0'da eklendi.
AndroidBoundExceptionType
Xamarin.Android tarafından sağlanan bir tür Java türleri açısından bir .NET türü veya arabirimi (örneğin Android.Runtime.InputStreamInvoker ve System.IO.StreamAndroid.Runtime.JavaDictionary System.Collections.IDictionaryveya ) uyguladığında özel durumların nasıl yayılması gerektiğini belirten dize değeri.
Java: Özgün Java özel durum türü olduğu gibi yayılır.Java, örneğinInputStreamInvokeryerine 'denStream.Read()oluşturulabileceğinden API'yiJava.IO.IOExceptionSystem.IO.IOExceptiondüzgün bir şekilde uygulamadığıSystem.IO.Streamanlamına gelir.JavaXamarin.Android 13.0 dahil olmak üzere Xamarin.Android'in tüm sürümlerinde özel durum yayma davranışıdır.System: Özgün Java özel durum türü yakalanıp uygun bir .NET özel durum türünde sarmalanır.Systemörneğin,InputStreamInvokeruygulamasını düzgün bir şekilde uyguladığıSystem.IO.StreamveStream.Read()örnekleri oluşturmayacağıJava.IO.IOExceptionanlamına gelir. (Bunun yerine değeri içeren birSystem.IO.IOExceptionJava.IO.IOExceptionException.InnerExceptionatabilir.)System, .NET 6.0'daki varsayılan değerdir.
Xamarin.Android 10.2'de eklendi.
AndroidBoundInterfacesContainConstants
Arabirimlerdeki bağlama sabitlerinin desteklenip desteklenmeyeceğini veya sınıf oluşturmanın geçici çözümünün kullanılıp kullanılmayacağını belirleyen boole IMyInterfaceConsts özelliği.
Varsayılan değer .NET 6 ve False eski değerdirTrue.
AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods
Arabirimlerdeki varsayılan ve statik üyelerin desteklenip desteklenmeyeceğini belirten boole özelliği veya gibi abstract class MyInterfacestatik üyeler içeren eşdüzey bir sınıf oluşturmanın eski geçici çözümü.
Varsayılan değer .NET 6 ve False eski değerdirTrue.
AndroidBoundInterfacesContainTypes
Arabirimlerde iç içe yerleştirilmiş türlerin desteklenip desteklenmeyeceğini belirten boole özelliği veya gibi IMyInterfaceMyNestedClassiç içe olmayan bir tür oluşturmanın geçici çözümü.
Varsayılan değer .NET 6 ve False eski değerdirTrue.
AndroidBuildApplicationPackage
Paketin oluşturulup imzalanıp imzalanmayacağını gösteren boole değeri (.apk). Bu değerin olarak True ayarlanması, SignAndroidPackage derleme hedefi.
Xamarin.Android 7.1'in ardından bu özellik için destek eklendi.
Bu özellik varsayılan olarakdır False .
AndroidBundleConfigurationFile
Android Uygulama Paketi oluştururken için yapılandırma dosyası bundletool olarak kullanılacak bir dosya adı belirtir. Bu dosya, APK'lerin paketten nasıl oluşturulduğunu, örneğin paketin APK'leri üretmek için hangi boyutlara bölündüğünü denetler.
Xamarin.Android, sıkıştırılmayan dosya uzantılarının listesi de dahil olmak üzere bu ayarların bazılarını otomatik olarak yapılandırır.
Bu özellik yalnızca olarak ayarlandıysa $(AndroidPackageFormat) aabgeçerlidir.
Xamarin.Android 10.3'te eklendi.
AndroidBundleToolExtraArgs
Uygulama paketleri oluştururken bundletool komutuna geçirecek komut satırı seçeneklerini belirtir.
Bu özellik Xamarin.Android 11.3'te eklendi.
AndroidClassParser
Dosyaların nasıl .jar ayrıştırıldığını denetleen bir dize özelliği. Olası değerler arasında şunlar bulunur:
class-parse: JVM yardımı olmadan Java bayt kodunu doğrudan ayrıştırmak için kullanılır
class-parse.exe.jar2xml: Bir dosyadan
.jartürleri ve üyeleri ayıklamak için Java yansımasını kullanmak için kullanınjar2xml.jar.
Over'un class-parse jar2xml avantajları şunlardır:
class-parsehata ayıklama sembollerini (ilejavac -gderlenmiş bayt kodu) içeren Java bayt kodundan parametre adlarını ayıklayabilir.class-parse, çözümlenemeyen türlerden devralan veya üyelerini içeren sınıfları "atlamıyor".
Xamarin.Android 6.0'a eklendi.
Varsayılan değer "eski" Xamarin.Android ve class-parse .NET 6 ve üzeri sürümlerdedirjar2xml.
desteği jar2xml kullanımdan kaldırıldı ve jar2xml .NET 6'da kaldırıldı.
AndroidCodegenTarget
Kod oluşturma hedef ABI'sini denetleen bir dize özelliği. Olası değerler arasında şunlar bulunur:
XamarinAndroid: Android 1.0 için Mono'dan bu yana mevcut JNI bağlama API'sini kullanır. Xamarin.Android 5.0 veya üzeri ile oluşturulan bağlama derlemeleri yalnızca Xamarin.Android 5.0 veya sonraki sürümlerde (API/ABI eklemeleri) çalıştırılabilir, ancak kaynak önceki ürün sürümleriyle uyumludur.
XAJavaInterop1: JNI çağrıları için Java.Interop kullanın. kullanarak
XAJavaInterop1bağlama derlemeleri yalnızca Xamarin.Android 6.1 veya sonraki sürümlerle derlenebilir ve yürütülebilir. Xamarin.Android 6.1 ve üzeri bu değerle bağlanırMono.Android.dll.
Avantajları XAJavaInterop1 şunlardır:
Daha küçük derlemeler.
jmethodIDdevralma hiyerarşisindeki diğer tüm bağlama türleri veya üzeri ileXAJavaInterop1derlenmiş olduğu sürece yöntem çağrıları içinbaseönbelleğe alma.jmethodIDyönetilen alt sınıflar için Java Çağrılabilen Sarmalayıcı oluşturucularının önbelleğe alınmasını sağlama.
Varsayılan değer şudur: XAJavaInterop1.
desteği XamarinAndroid kullanımdan kaldırılmıştır ve desteği XamarinAndroid .NET 6'nın bir parçası olarak kaldırılacaktır.
AndroidCreatePackagePerAbi
Tek bir içindeki tüm ABI'ler için destek almak yerine içinde belirtilen $(AndroidSupportedAbis)ABI başına bir dosya kümesinin oluşturulup oluşturulmayacağını belirleyen boole .apközelliği.
Ayrıca bkz. ABI'ye Özgü API'ler oluşturma kılavuzu.
AndroidCreateProguardMappingFile
Derleme işleminin bir parçası olarak bir proguard eşleme dosyasının oluşturularak oluşturulmadığını denetleyen boole özelliği.
Csproj'unuza aşağıdakileri eklemek dosyanın oluşturulmasına neden olur ve son eşleme dosyasının konumunu denetlemek için özelliğini kullanır AndroidProguardMappingFile .
<AndroidCreateProguardMappingFile>True</AndroidCreateProguardMappingFile>
Dosyalar oluşturulurken .aab eşleme dosyası otomatik olarak paketinize eklenir. Google Play Store'a el ile yüklemenize gerek yoktur. Dosyaları kullanırken .apk , öğesinin AndroidProguardMappingFile el ile yüklenmesi gerekir.
Varsayılan değer , =r8 kullanılırken $(AndroidLinkTool)kullanılırTrue.
Xamarin.Android 12.3'te eklendi.
AndroidDebugKeyAlgorithm
için kullanılacak varsayılan algoritmayı debug.keystorebelirtir. Varsayılan değer şudur: RSA.
AndroidDebugKeyValidity
için debug.keystorekullanılacak varsayılan geçerliliği belirtir. Varsayılan değer veya 30 * 365 30 yearsşeklindedir10950.
AndroidDebugStoreType
için debug.keystorekullanılacak anahtar deposu dosya biçimini belirtir. Varsayılan olarak olur pkcs12.
Xamarin.Android 10.2'de eklendi.
AndroidDeviceUserId
Konuk veya iş hesapları altında uygulamanın dağıtılmasına ve hata ayıklamasına izin verir. Değer, aşağıdaki adb komutundan elde ettiğiniz değerdir uid :
adb shell pm list users
Yukarıdaki komut aşağıdaki verileri döndürür:
Users:
UserInfo{0:Owner:c13} running
UserInfo{10:Guest:404}
uid, ilk tamsayı değeridir. Yukarıdaki çıkışta ve 10şeklindedir0.
$(AndroidDeviceUserId) Özelliği Xamarin.Android 11.2'de eklendi.
AndroidDexTool
veya d8geçerli değerlerine dx sahip bir numaralandırma stili özelliği. Xamarin.Android derleme işlemi sırasında hangi Android dex derleyicisinin kullanıldığını gösterir.
Varsayılan değer şudur: dx. D8 ve R8 ile ilgili belgelerimize bakın.
AndroidEnableDesugar
Etkinleştirilip desugar etkinleştirilmediğini belirleyen boole özelliği. Android şu anda tüm Java 8 özelliklerini desteklememektedir ve varsayılan araç zinciri, derleyicinin çıkışında javac adlı desugarbayt kodu dönüştürmeleri gerçekleştirerek yeni dil özelliklerini uygular. Varsayılan değer, kullanılıyorsa ve kullanılıyorsad8$(AndroidDexTool)= değeridirFalse.True $(AndroidDexTool)=dx
AndroidEnableGooglePlayStoreChecks
Geliştiricilerin şu Google Play Store denetimlerini devre dışı bırakmasına olanak tanıyan bool özelliği: XA1004, XA1005 ve XA1006. Bu denetimleri devre dışı bırakmak, Google Play Store'u hedeflemeyen ve bu denetimleri çalıştırmak istemeyen geliştiriciler için kullanışlıdır.
Xamarin.Android 9.4'te eklendi.
AndroidEnableMultiDex
Çoklu dex desteğinin son .apkiçinde kullanılıp kullanılmayacağını belirleyen boole özelliği.
Bu özellik için destek Xamarin.Android 5.1'e eklendi.
Bu özellik varsayılan olarakdır False .
AndroidEnablePreloadAssemblies
Uygulama paketi içinde paketlenmiş tüm yönetilen derlemelerin işlem başlatma sırasında yüklenip yüklenmeyeceğini denetleyen boole özelliği.
olarak Trueayarlandığında, uygulama paketi içinde paketlenmiş tüm derlemeler, herhangi bir uygulama kodu çağrılmadan önce işlem başlatma sırasında yüklenir.
Derlemeleri önceden yükleme, Xamarin.Android'in yaptığı işlemdir.
olarak Falseayarlandığında, derlemeler yalnızca gerektiği gibi yüklenir.
Derlemelerin gerektiği gibi yüklenmesi, uygulamaların daha hızlı başlatılmasını sağlar ve masaüstü .NET semantiğiyle de daha tutarlıdır.
Zaman tasarrufunu görmek için Sistem Özelliği'ni debug.mono.log öğesini içerecek timingşekilde ayarlayın ve içinde adb logcatiletiyi arayınFinished loading assemblies: preloaded.
Bağımlılık ekleme kullanan uygulamalar veya kitaplıklar, derlemeye başka türlü gerek duyulmasa bile uygulama paketi içindeki tüm derlemelerin döndürülmesi gerekiyorsa bu özelliğin True olması gerekebilir. AppDomain.CurrentDomain.GetAssemblies()
Varsayılan olarak bu değer Xamarin.Android için olarak ayarlanır True ve .NET 6+ derlemeleri için olarak ayarlanır False .
Xamarin.Android 9.2'de eklendi.
AndroidEnableProfiledAot
AOT profillerinin Önceden Derleme sırasında kullanılıp kullanılmayacağını belirleyen boole özelliği.
Profiller @(AndroidAotProfile) öğe grubu. Bu ItemGroup varsayılan profilleri içerir. Mevcut profiller kaldırılarak ve kendi AOT profilleriniz eklenerek geçersiz kılınabilir.
Bu özellik için destek Xamarin.Android 9.4'e eklendi.
Bu özellik varsayılan olarakdır False .
AndroidEnableSGenConcurrent
Mono'nun eşzamanlı GC toplayıcının kullanılıp kullanılmayacağını belirleyen boole özelliği.
Bu özellik için destek Xamarin.Android 7.2'ye eklendi.
Bu özellik varsayılan olarakdır False .
AndroidErrorOnCustomJavaObject
Türlerin veya Java.Lang.Throwableöğesinden Java.Lang.Object devralmadan uygulanıp uygulanamayacağını Android.Runtime.IJavaObjectbelirleyen boole özelliği:
class BadType : IJavaObject {
public IntPtr Handle {
get {return IntPtr.Zero;}
}
public void Dispose()
{
}
}
True olduğunda, bu tür türler bir XA4212 hatası oluşturur, aksi takdirde bir XA4212 uyarısı oluşturulur.
Bu özellik için destek Xamarin.Android 8.1'e eklendi.
Bu özellik varsayılan olarakdır True .
AndroidExplicitCrunch
Artık Xamarin.Android 11.0'da desteklenmiyor.
AndroidExtraAotOptions
ya da $(AotAssemblies) $(AndroidEnableProfiledAot) olarak ayarlanmış projeler için görev sırasında Aot Mono derleyicisine seçenekler geçirilmesine trueizin veren bir dize özelliği.
Özelliğin dize değeri, Mono derleyiciler arası çağrılırken yanıt dosyasına eklenir.
Genel olarak, bu özellik boş bırakılmalıdır, ancak bazı özel senaryolarda yararlı esneklik sağlayabilir.
$(AndroidExtraAotOptions) özelliği ilgili $(AndroidAotAdditionalArguments) özellikten farklıdır; $(AndroidAotAdditionalArguments) virgülle ayrılmış bağımsız değişkenleri Mono derleyicisinin seçeneğine --aot yerleştirir. $(AndroidExtraAotOptions)bunun yerine, veya --debug gibi --verbose tam tek başına alanla ayrılmış seçenekleri derleyiciye geçirir.
Xamarin.Android 10.2'de eklendi.
AndroidFastDeploymentType
: MSBuild özelliği Falseolduğunda $(EmbedAssembliesIntoApk) hedef cihazdaki Hızlı Dağıtım dizinine dağıtılacak türleri denetlemek için (iki nokta üst üste) ayrılmış bir değer listesi. Bir kaynak hızlı dağıtılırsa, oluşturulan .apkiçine eklenmez ve bu da dağıtım sürelerini hızlandırabilir. (Ne kadar hızlı dağıtılırsa, o kadar az sıklıkta .apk yeniden oluşturulması gerekir ve yükleme işlemi daha hızlı olabilir.) Geçerli değerler şunlardır:
Assemblies: Uygulama derlemelerini dağıtın.Dexes: Dosyaları, yerel kitaplıkları ve tür haritalarını dağıtın.dex. BuDexesdeğer yalnızca Android 4.4 veya üzeri (API-19) çalıştıran cihazlarda kullanılabilir.
Varsayılan değer şudur: Assemblies.
Bu sistem aracılığıyla kaynakları ve varlıkları Hızlı Dağıtma desteği, işleme f0d565fe'de kaldırıldı. Bunun nedeni, kullanım dışı api'lerin kullanılmasının çalışmasıydı.
Deneysel. Bu özellik Xamarin.Android 6.1'de eklendi.
AndroidFragmentType
Düzen bağlamaları kodu oluşturulurken tüm <fragment> düzen öğeleri için kullanılacak varsayılan tam türü belirtir. Varsayılan değer standart Android Android.App.Fragment türüdür.
AndroidGenerateJniMarshalMethods
Derleme işleminin bir parçası olarak JNI sıralama yöntemlerinin oluşturulmasını sağlayan bool özelliği. Bu, bağlama yardımcı kodundaki kullanımı büyük ölçüde azaltır System.Reflection .
Varsayılan değer şudur: False. Geliştiriciler yeni JNI hazırlama yöntemleri özelliğini kullanmak isterse,
<AndroidGenerateJniMarshalMethods>True</AndroidGenerateJniMarshalMethods>
içinde ..csproj Alternatif olarak komut satırında özelliğini şu şekilde sağlayın:
/p:AndroidGenerateJniMarshalMethods=True
Deneysel. Xamarin.Android 9.2'de eklendi.
Varsayılan değer şudur: False.
AndroidGenerateJniMarshalMethodsAdditionalArguments
Çağrıya parametre jnimarshalmethod-gen.exe eklemek için kullanılabilecek ve hata ayıklama için yararlı olan bir dize özelliğidir; böylece , -dveya --keeptemp gibi -vseçenekler kullanılabilir.
Varsayılan değer boş dizedir. Dosyada .csproj veya komut satırında ayarlanabilir. Örneğin:
<AndroidGenerateJniMarshalMethodsAdditionalArguments>-v -d --keeptemp</AndroidGenerateJniMarshalMethodsAdditionalArguments>
veya:
/p:AndroidGenerateJniMarshalMethodsAdditionalArguments="-v -d --keeptemp"
Xamarin.Android 9.2'de eklendi.
AndroidGenerateLayoutBindings
olarak ayarlanırsa arka planda düzen kodunun oluşturulmasını true etkinleştirir veya olarak ayarlanırsa falsetamamen devre dışı bırakır. Varsayılan değer şudur: false.
AndroidGenerateResourceDesigner
Varsayılan değer şudur: true. olarak falseayarlandığında, oluşturulmasını Resource.designer.csdevre dışı bırakır.
.NET 6 RC 1'de eklendi. Xamarin.Android'de desteklenmez.
AndroidHttpClientHandlerType
Varsayılan System.Net.Http.HttpMessageHandler oluşturucu tarafından System.Net.Http.HttpClient kullanılacak varsayılan uygulamayı denetler. değeri, ile System.Type.GetType(string)kullanıma uygun bir HttpMessageHandler alt sınıfın derleme nitelikli tür adıdır.
Bu özelliğin en yaygın değerleri şunlardır:
Xamarin.Android.Net.AndroidClientHandler: Ağ istekleri gerçekleştirmek için Android Java API'lerini kullanın. Java API'lerinin kullanılması, temel alınan Android sürümü TLS 1.2'yi desteklediğinde TLS 1.2 URL'lerine erişim sağlar. Java aracılığıyla yalnızca Android 5.0 ve üzeri güvenilir bir şekilde TLS 1.2 desteği sağlar.Visual Studio özellik sayfalarında Android seçeneğine ve Mac için Visual Studio özellik sayfalarında AndroidClientHandler seçeneğine karşılık gelir.
Yeni proje sihirbazı, En Düşük Android Sürümü Visual Studio'da Android 5.0 (Lollipop) veya üzeri bir sürüme yapılandırıldığında ya da Hedef Platformlar Mac için Visual Studio'de En Son ve En Büyük olarak ayarlandığında yeni projeler için bu seçeneği belirler.
Unset/boş dize, eşdeğerdir
System.Net.Http.HttpClientHandler, System.Net.HttpVisual Studio özellik sayfalarında Varsayılan seçeneğine karşılık gelir.
Yeni proje sihirbazı, En Düşük Android Sürümü Visual Studio'da Android 4.4.87 veya daha düşük bir sürüme yapılandırıldığında ya da Hedef Platformlar Mac için Visual Studio'de Modern Geliştirme veya En Yüksek Uyumluluk olarak ayarlandığında yeni projeler için bu seçeneği belirler.
System.Net.Http.HttpClientHandler, System.Net.Http: YönetilenHttpMessageHandlerkullanın.Visual Studio özellik sayfalarında Yönetilen seçeneğine karşılık gelir.
Not
5.0 öncesi Android sürümlerinde TLS 1.2 desteği gerekiyorsa veya ve ilgili API'lerde TLS 1.2 desteği gerekiyorsa System.Net.WebClient kullanılmalıdır $(AndroidTlsProvider) .
Not
Özellik desteği$(AndroidHttpClientHandlerType), ortam değişkenini XA_HTTP_CLIENT_HANDLER_TYPEayarlayarak çalışır.
$XA_HTTP_CLIENT_HANDLER_TYPE Derleme eyleminin bulunduğu bir dosyada bulunan değer@(AndroidEnvironment) öncelik kazanır.
Xamarin.Android 6.1'de eklendi.
AndroidIncludeWrapSh
Android sarmalayıcı betiğinin (wrap.sh) APK'ye paketlenip paketlenmemesi gerektiğini gösteren boole değeri. Varsayılan değer, false sarmalayıcı betiğinin uygulamanın başlama ve çalışma şeklini önemli ölçüde etkileyebileceğinden ve betiğin yalnızca gerektiğinde (örneğin, hata ayıklama veya uygulama başlatma/çalışma zamanı davranışını değiştirirken) dahil edilmesi gerektiğidir.
Betik, kullanılarak projeye eklenir @(AndroidNativeLibrary) derleme eylemi, mimariye özgü yerel kitaplıklar ile aynı dizine yerleştirildiğinden ve olarak adlandırılmalıdır wrap.sh.
Betiğin yolunu belirtmenin wrap.sh en kolay yolu, bunu hedef mimarinin adını taşıyan bir dizine yerleştirmektir. Mimari başına yalnızca bir wrap.sh yaklaşımınız varsa bu yaklaşım işe yarayacaktır:
<AndroidNativeLibrary Include="path/to/arm64-v8a/wrap.sh" />
Ancak projeniz farklı amaçlarla mimari başına birden wrap.sh fazla mimariye ihtiyaç duyuyorsa bu yaklaşım işe yaramaz.
Bunun yerine, bu gibi durumlarda adı öğesinin Link meta verileri AndroidNativeLibrarykullanılarak belirtilebilir:
<AndroidNativeLibrary Include="/path/to/my/arm64-wrap.sh">
<Link>lib\arm64-v8a\wrap.sh</Link>
</AndroidNativeLibrary>
Link Meta veriler kullanılıyorsa, değerinde belirtilen yol APK kök dizinine göre geçerli bir yerel mimariye özgü kitaplık yolu olmalıdır. Yolun biçimi şu lib\ARCH\wrap.sh ARCH durumlardan biri olabilir:
arm64-v8aarmeabi-v7ax86_64x86
AndroidJavadocVerbosity
Bağlama projeleri içinde Javadoc belgelerini içeri aktarırken "ayrıntılı" C# XML Belgeleri Açıklamalarının nasıl olması gerektiğini belirtir.
Kullanımı gerektirir @(JavaSourceJar) derleme eylemi.
$(AndroidJavadocVerbosity) özelliği, veya intellisenseolası değerleriyle full numaralandırılır:
intellisense: Yalnızca XML açıklamalarını yayar:<exception/>,<param/>,<returns/>,<summary/>.full: Öğeleri, ayrıca<remarks/>,<seealso/>ve desteklenebilir diğer her şeyi yayınintellisense.
Varsayılan değer şudur: intellisense.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AndroidKeyStore
Özel imzalama bilgilerinin kullanılıp kullanılmayacağını gösteren boole değeri. Varsayılan değer olan Falsedeğeri, paketleri imzalamak için varsayılan hata ayıklama imzalama anahtarının kullanılacağı anlamına gelir.
AndroidLaunchActivity
Başlatacak Android etkinliği.
AndroidLinkMode
Android paketinde bulunan derlemelerde hangi tür bağlamanın gerçekleştirileceğini belirtir. Yalnızca Android Uygulama projelerinde kullanılır. Varsayılan değer SdkOnly'dir. Geçerli değerler:
Hiçbiri: Bağlama denenmeyecek.
SdkOnly: Bağlama yalnızca temel sınıf kitaplıklarında gerçekleştirilir, kullanıcının derlemelerinde gerçekleştirilmeyecektir.
Tam: Bağlama temel sınıf kitaplıklarında ve kullanıcı derlemelerinde gerçekleştirilir.
Not
AndroidLinkModeTam değerinin kullanılması genellikle özellikle Yansıma kullanıldığında uygulamaların bozulmasına neden olur. Ne yaptığınızı gerçekten bilmiyorsanız kaçının.
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
AndroidLinkResources
olduğunda true, derleme sistemi tüm derlemelerde Resource.Designer.cs Resource sınıfının İç İçe Türlerine bağlanır. Bu türleri kullanan IL kodu, alanlara erişmek yerine değerleri doğrudan kullanacak şekilde güncelleştirilir.
İç içe türlerin bağlanması apk boyutunu küçültme üzerinde küçük bir etkiye sahip olabilir ve başlangıç performansı konusunda da yardımcı olabilir. Yalnızca "Yayın" derlemeleri bağlantılıdır.
Deneysel. Yalnızca gibi kodlarla çalışacak şekilde tasarlanmıştır
var view = FindViewById(Resources.Ids.foo);
Diğer senaryolar (yansıma gibi) desteklenmez.
Xamarin.Android 11.3'te bu özellik için destek eklendi
AndroidLinkSkip
Bağlanmaması gereken derlemelerin dosya uzantıları olmadan, derleme adlarının noktalı virgülle ayrılmış (;) listesini belirtir. Yalnızca Android Uygulama projelerinin içinde kullanılır.
<AndroidLinkSkip>Assembly1;Assembly2</AndroidLinkSkip>
AndroidLinkTool
veya r8geçerli değerlerine proguard sahip bir numaralandırma stili özelliği. Java kodu için hangi kod daraltıcının kullanıldığını gösterir. Varsayılan değer boş bir dizedir veya proguard ise $(AndroidEnableProguard) olur True. D8 ve R8 ile ilgili belgelerimize bakın.
AndroidLintEnabled
Geliştiricinin paketleme işleminin bir parçası olarak android lint aracını çalıştırmasına olanak tanıyan bool özelliği.
=True olduğunda $(AndroidLintEnabled), aşağıdaki özellikler kullanılır:
Aşağıdaki derleme eylemleri de kullanılabilir:
Android lint araçları hakkında daha fazla bilgi için Lint Yardımı'na bakın.
AndroidLintEnabledIssues
Etkinleştirileceği lint sorunlarının virgülle ayrılmış bir listesi olan dize özelliği.
Yalnızca =Doğru olduğunda $(AndroidLintEnabled)kullanılır.
AndroidLintDisabledIssues
Devre dışı bırakabilecek lint sorunlarının virgülle ayrılmış bir listesi olan dize özelliği.
Yalnızca =Doğru olduğunda $(AndroidLintEnabled)kullanılır.
AndroidLintCheckIssues
Denetlenecek lint sorunlarının virgülle ayrılmış bir listesi olan dize özelliği.
Yalnızca =Doğru olduğunda $(AndroidLintEnabled)kullanılır.
Not: Yalnızca bu sorunlar denetlenecektir.
AndroidManagedSymbols
Dosya adı ve satır numarası bilgilerinin yığın izlemelerinden Release ayıklanması için sıra noktalarının oluşturulup oluşturulmadığını denetleyen boole özelliği.
Xamarin.Android 6.1'de eklendi.
AndroidManifest
Uygulamanın AndroidManifest.xmlşablonu olarak kullanılacak bir dosya adı belirtir.
Derleme sırasında, gerçek AndroidManifest.xmldeğerini oluşturmak için diğer gerekli değerler ile birleştirilir.
$(AndroidManifest) özniteliğinde /manifest/@package paket adını içermelidir.
AndroidManifestMerger
AndroidManifest.xml dosyalarını birleştirmek için uygulamayı belirtir. Bu, özgün C# uygulamasını seçip Google'ın Java uygulamasını manifestmerger.jar seçen legacy bir numaralandırma stili özelliğidir.
Varsayılan değer şu anda legacyşeklindedir. Bu, Android Studio ile davranışı uyumlu hale getirmek için gelecek bir sürümde olarak değişir manifestmerger.jar .
Google'ın birleşmesi, Android belgelerinde açıklandığı gibi için destek xmlns:tools="http://schemas.android.com/tools" sağlar.
Xamarin.Android 10.2'de kullanıma sunulmuştur
AndroidManifestMergerExtraArgs
Android belge aracına bağımsız değişkenler sağlayan bir dize özelliği.
Araçtan ayrıntılı çıktı almak istiyorsanız, öğesine aşağıdakileri .csprojekleyebilirsiniz.
<AndroidManifestMergerExtraArgs>--log VERBOSE</AndroidManifestMergerExtraArgs>
Xamarin.Android 11.x ile kullanıma sunulmuştur
AndroidManifestType
veya GoogleV2geçerli değerlerine Xamarin sahip bir numaralandırma stili özelliği.
Bu, hangi deponun InstallAndroidDependencies hedefine ulaşarak hangi Android paketlerinin ve paket sürümlerinin kullanılabilir olduğunu ve yüklenebileceğini belirleyin.
Xamarin, Visual Studio SDK Yöneticisi içindeki Onaylı Liste (Önerilen) deposudur.
GoogleV2, Visual Studio SDK Yöneticisi içindeki Tam Liste (Desteklenmeyen) deposudur.
Xamarin.Android 13.0'da eklendi. Xamarin.Android 13.0'da ayarlanmadıysa $(AndroidManifestType) kullanılır Xamarin .
Xamarin.Android 13.0'ın öncesinde ayarın $(AndroidManifestType) hiçbir etkisi yoktur ve GoogleV2 kullanılır.
AndroidManifestPlaceholders
her çiftin biçimine key=valuesahip olduğu AndroidManifest.xml için anahtar-değer değiştirme çiftlerinin noktalı virgülle ayrılmış listesi.
Örneğin, özelliğinin assemblyName=$(AssemblyName) değeri daha sonra AndroidManifest.xml görünebilen bir ${assemblyName} yer tutucu tanımlar:
<application android:label="${assemblyName}"
Bu, derleme işleminden AndroidManifest.xml dosyasına değişken eklemenin bir yolunu sağlar.
AndroidMultiDexClassListExtraArgs
Geliştiricilerin dosyayı oluştururken multidex.keep bağımsız değişkenleri 'com.android.multidex.MainDexListBuildera geçirmesine olanak tanıyan bir dize özelliği.
Belirli bir durum, derleme sırasında dx aşağıdaki hatayı alıyor olmanızdır.
com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
Bu hatayı alıyorsanız aşağıdakini öğesine .csprojekleyebilirsiniz.
<DxExtraArguments>--force-jumbo </DxExtraArguments>
<AndroidMultiDexClassListExtraArgs>--disable-annotation-resolution-workaround</AndroidMultiDexClassListExtraArgs>
adımın dx başarılı olmasını sağlar.
Xamarin.Android 8.3'te eklendi.
AndroidPackageFormat
veya aabgeçerli değerlerine apk sahip bir numaralandırma stili özelliği. Android uygulamasını APK dosyası veya Android Uygulama Paketi olarak paketlemek isteyip istemediğinizi gösterir. Uygulama Paketleri, Google Play'de göndermeye yönelik derlemeler için Release yeni bir biçimdir. Varsayılan değer şudur: apk.
$(AndroidPackageFormat) olarak ayarlandığındaaab, Android Uygulama Paketleri için gereken diğer MSBuild özellikleri ayarlanır:
$(AndroidUseAapt2)True.$(AndroidUseApkSigner)False.$(AndroidCreatePackagePerAbi)False.
Bu özellik .net 6 için kullanım dışı bırakılacak. Kullanıcılar yeni AndroidPackageFormatsöğesine geçmelidir.
AndroidPackageFormats
ve aabgeçerli değerleriyle apk noktalı virgülle ayrılmış bir özellik.
Android uygulamasını APK dosyası veya Android Uygulama Paketi olarak paketlemek isteyip istemediğinizi gösterir. Uygulama Paketleri, Google Play'de göndermeye yönelik derlemeler için Release yeni bir biçimdir.
Yayın derlemesi oluştururken, çeşitli mağazalara dağıtım için hem hem aab de apk oluşturmak isteyebilirsiniz.
ayarı AndroidPackageFormats aab;apk her ikisinin de oluşturulmasına neden olur. veya apk olarak aab ayarlanması AndroidPackageFormats yalnızca bir dosya oluşturur.
For .net 6 AndroidPackageFormats yalnızca derlemeler için Release olarak ayarlanıraab;apk. Yalnızca apk hata ayıklama için kullanmaya devam edin.
Eski Xamarin.Android için varsayılan değerdir "".
Sonuç olarak Eski Xamarin.Android varsayılan olarak her ikisini de bir yayın derlemesinin parçası olarak ÜRETMEZ. Bir kullanıcı her iki çıkışı da üretmek istiyorsa, yapılandırmalarında aşağıdakileri tanımlaması Release gerekir.
<AndroidPackageFormats>aab;apk</AndroidPackageFormats>
Bu yapılandırmaya sahipseniz mevcut AndroidPackageFormat yapılandırmayı da kaldırmanız gerekir.
Xamarin.Android 11.5'te eklendi.
AndroidPackageNamingPolicy
Oluşturulan Java kaynak kodunun Java paket adlarını belirtmek için bir numaralandırma stili özelliği.
Xamarin.Android 10.2 ve sonraki sürümlerde desteklenen tek değerdir LowercaseCrc64.
Xamarin.Android 10.1'de, Xamarin.Android 10.0 ve önceki sürümlerde kullanılan özgün Java paketi adı stiline geri dönme olanağı sağlayan bir geçiş LowercaseMD5 değeri de sağlandı. Bu seçenek, FIPS uyumluluğu zorunlu olan derleme ortamlarıyla uyumluluğu geliştirmek için Xamarin.Android 10.2'de kaldırıldı.
Xamarin.Android 10.1'de eklendi.
AndroidProguardMappingFile
-printmapping için r8proguard kuralını belirtir. Bu, dosyanın klasörde oluşturulacağı $(OutputPath) anlamına gelirmapping.txt. Bu dosya daha sonra Paketleri Google Play Store'a yüklerken kullanılabilir.
Varsayılan olarak, bu dosya kullanılırken AndroidLinkTool=r8 otomatik olarak oluşturulur ve aşağıdaki dosyayı $(OutputPath)mapping.txtoluşturur.
Bu eşleme dosyasını oluşturmak istemiyorsanız, oluşturmayı durdurmak için özelliğini kullanabilirsiniz AndroidCreateProguardMappingFile .
Projenize aşağıdakileri ekleyin
<AndroidCreateProguardMappingFile>False</AndroidCreateProguardMappingFile>
veya komut satırında kullanın -p:AndroidCreateProguardMappingFile=False .
Bu özellik Xamarin.Android 11.2'de eklendi.
AndroidR8IgnoreWarnings
-ignorewarnings için r8proguard kuralını belirtir. Bu, belirli uyarılarla karşılaşılsa bile dex derlemesine devam edilmesini sağlar r8 . Varsayılan değer şeklindedir True, ancak daha katı bir davranışı zorunlu kılmak için False olarak ayarlanabilir. Ayrıntılar için ProGuard kılavuzuna bakın.
Xamarin.Android 10.3'te eklendi.
AndroidR8JarPath
r8 dex-compiler ve shrinker ile kullanılacak yolu r8.jar . Varsayılan değer, Xamarin.Android yüklemesindeki bir yoldur. Daha fazla bilgi için D8 ve R8 ile ilgili belgelerimize bakın.
AndroidResgenExtraArgs
Android varlıklarını ve kaynaklarını işlerken aapt komutuna geçirmek için komut satırı seçeneklerini belirtir.
AndroidResgenFile
Oluşturulacak Kaynak dosyasının adını belirtir. Varsayılan şablon bunu olarak Resource.designer.csayarlar.
AndroidSdkBuildToolsVersion
Android SDK derleme araçları paketi, diğerlerinin de aralarında bulunduğu aapt ve zipalign araçlarını sağlar. Derleme araçları paketinin birden çok farklı sürümü aynı anda yüklenebilir. Paketleme için seçilen derleme araçları paketi, varsa "tercih edilen" derleme araçları sürümü denetlenerek ve kullanılarak yapılır; "Tercih edilen" sürüm mevcut değilse , yüklü en yüksek sürüme sahip derleme araçları paketi kullanılır.
$(AndroidSdkBuildToolsVersion) MSBuild özelliği tercih edilen derleme araçları sürümünü içerir. Xamarin.Android derleme sistemi içinde Xamarin.Android.Common.targetsvarsayılan bir değer sağlar ve önceki bir aapt sürümünün çalıştığı bilinirken en son aapt kilitleniyorsa ( örneğin) alternatif bir derleme araçları sürümü seçmek için proje dosyanızda varsayılan değer geçersiz kılınabilir.
AndroidSigningKeyAlias
Anahtar deposundaki anahtarın diğer adını belirtir. Bu, keystore oluşturulurken kullanılan keytool -alias değeridir.
AndroidSigningKeyPass
Keystore dosyasındaki anahtarın parolasını belirtir. Bu, $(AndroidSigningKeyAlias) için Anahtar parolasını girin sorulduğunda keytool girilen değerdir.
Xamarin.Android 10.0 ve önceki sürümlerinde bu özellik yalnızca düz metin parolalarını destekler.
Xamarin.Android 10.1 ve sonraki sürümlerde bu özellik, parolayı içeren bir ortam değişkeni veya dosyası belirtmek için kullanılabilecek ve file: ön eklerini de desteklerenv:. Bu seçenekler, parolanın derleme günlüklerinde görünmesini önlemenin bir yolunu sağlar.
Örneğin, AndroidSigningPassword adlı bir ortam değişkeni kullanmak için:
<PropertyGroup>
<AndroidSigningKeyPass>env:AndroidSigningPassword</AndroidSigningKeyPass>
</PropertyGroup>
konumunda C:\Users\user1\AndroidSigningPassword.txtbulunan bir dosyayı kullanmak için:
<PropertyGroup>
<AndroidSigningKeyPass>file:C:\Users\user1\AndroidSigningPassword.txt</AndroidSigningKeyPass>
</PropertyGroup>
Not
env: ön ek olarak ayarlandığında aabdesteklenmez$(AndroidPackageFormat).
AndroidSigningKeyStore
tarafından keytoololuşturulan keystore dosyasının dosya adını belirtir. Bu, keytool -keystore seçeneğine sağlanan değere karşılık gelir.
AndroidSigningStorePass
parolasını $(AndroidSigningKeyStore)belirtir.
Bu, keystore dosyasını oluştururken sağlanan keytool değerdir ve Anahtar deposu parolasını girin: sorulduğunda.
Xamarin.Android 10.0 ve önceki sürümlerinde bu özellik yalnızca düz metin parolalarını destekler.
Xamarin.Android 10.1 ve sonraki sürümlerde bu özellik, parolayı içeren bir ortam değişkeni veya dosyası belirtmek için kullanılabilecek ve file: ön eklerini de desteklerenv:. Bu seçenekler, parolanın derleme günlüklerinde görünmesini önlemenin bir yolunu sağlar.
Örneğin, AndroidSigningPassword adlı bir ortam değişkeni kullanmak için:
<PropertyGroup>
<AndroidSigningStorePass>env:AndroidSigningPassword</AndroidSigningStorePass>
</PropertyGroup>
konumunda C:\Users\user1\AndroidSigningPassword.txtbulunan bir dosyayı kullanmak için:
<PropertyGroup>
<AndroidSigningStorePass>file:C:\Users\user1\AndroidSigningPassword.txt</AndroidSigningStorePass>
</PropertyGroup>
Not
env: ön ek olarak ayarlandığında aabdesteklenmez$(AndroidPackageFormat).
AndroidSigningPlatformKey
Apk'yi imzalamak için kullanılacak anahtar dosyasını belirtir.
Bu yalnızca uygulama oluştururken system kullanılır.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AndroidSigningPlatformCert
Apk'yi imzalamak için kullanılacak sertifika dosyasını belirtir.
Bu yalnızca uygulama oluştururken system kullanılır.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AndroidSupportedAbis
içine eklenmesi .apkgereken, noktalı virgülle (;)sınırlandırılmış BIR ABI listesi içeren dize özelliği.
Desteklenen değerler şunlardır:
armeabi-v7ax86arm64-v8a: Xamarin.Android 5.1 ve üzerini gerektirir.x86_64: Xamarin.Android 5.1 ve üzerini gerektirir.
AndroidTlsProvider
Bir uygulamada hangi TLS sağlayıcısının kullanılacağını belirten dize değeri. Olası değerler şunlardır:
Boş dizeyi kaldırma: Xamarin.Android 7.3 ve üzeri sürümlerde bu, ile
btlseşdeğerdir.Xamarin.Android 7.1'de bu, ile
legacyeşdeğerdir.Bu, Visual Studio özellik sayfalarında Varsayılan ayarına karşılık gelir.
btls: HttpWebRequest ile TLS iletişimi için Sıkıcı SSL kullanın.Bu, tüm Android sürümlerinde TLS 1.2 kullanımına izin verir.
Bu, Visual Studio özellik sayfalarında Yerel TLS 1.2+ ayarına karşılık gelir.
legacy: Xamarin.Android 10.1 ve önceki sürümlerinde, ağ etkileşimi için geçmiş yönetilen SSL uygulamasını kullanın. Bu , TLS 1.2'i desteklemez .Bu, Visual Studio özellik sayfalarında Yönetilen TLS 1.0 ayarına karşılık gelir.
Xamarin.Android 10.2 ve sonraki sürümlerde bu değer yoksayılır ve
btlsayar kullanılır.default: Bu değerin Xamarin.Android projelerinde kullanılma olasılığı düşüktür. Bunun yerine kullanılması önerilen değer, Visual Studio özellik sayfalarında Varsayılan ayarına karşılık gelen boş dizedir.defaultDeğer Visual Studio özellik sayfalarında sunulmaz.Bu, şu anda ile
legacyeşdeğerdir.
Xamarin.Android 7.1'de eklendi.
AndroidUseAapt2
Geliştiricinin paketleme için aracın kullanımını aapt2 denetlemesini sağlayan boole özelliği.
Varsayılan olarak bu False olur ve Xamarin.Android kullanır aapt.
Geliştirici yeni aapt2 işlevselliği kullanmak istiyorsa şunları ekleyin:
<AndroidUseAapt2>True</AndroidUseAapt2>
içinde ..csproj Alternatif olarak, komut satırında özelliğini sağlayın:
/p:AndroidUseAapt2=True
Bu özellik Xamarin.Android 8.3'te eklendi. false ayarı AndroidUseAapt2 Xamarin.Android 11.2'de kullanım dışıdır.
AndroidUseApkSigner
Geliştiricinin aracı yerine jarsignerkullanmasını apksigner sağlayan bool özelliği.
Xamarin.Android 8.2'ye eklendi.
AndroidUseDefaultAotProfile
Geliştiricinin varsayılan AOT profillerinin kullanımını gizlemesini sağlayan bool özelliği.
Varsayılan AOT profillerini engellemek için özelliğini olarak falseayarlayın.
Xamarin.Android 10.1'de eklendi.
AndroidUseInterpreter
normal JIT'yi değil mono yorumlayıcıyı içermesine neden olan .apk boole özelliği.
Deneysel.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AndroidUseLegacyVersionCode
Geliştiricinin versionCode hesaplamasını eski Xamarin.Android 8.2 davranışına geri döndürmesini sağlayan boole özelliği. Bu, YALNIZCA Google Play Store'da mevcut uygulamaları olan geliştiriciler için kullanılmalıdır. Yeni $(AndroidVersionCodePattern) özelliğin kullanılması kesinlikle önerilir.
Xamarin.Android 8.2'ye eklendi.
AndroidUseManagedDesignTimeResourceGenerator
Tasarım zamanı derlemelerine yerine yönetilen kaynak ayrıştırıcısını aaptkullanacak şekilde geçiş yapacak boole özelliği.
Xamarin.Android 8.1'de eklendi.
AndroidUseSharedRuntime
Uygulamayı hedef cihazda çalıştırmak için paylaşılan çalışma zamanı paketlerinin gerekli olup olmadığını belirleyen boole özelliği. Paylaşılan çalışma zamanı paketlerine güvenmek, Uygulama paketinin daha küçük olmasını sağlayarak paket oluşturma ve dağıtım sürecini hızlandırarak daha hızlı bir derleme/dağıtma/hata ayıklama geri dönüş döngüsüne neden olur.
Xamarin.Android 11.2 sürümünden önce, bu özellik Hata ayıklama derlemeleri ve False Yayın projeleri için olmalıdırTrue.
Bu özellik Xamarin.Android 11.2'de kaldırıldı .
AndroidVersionCode
Dosyada AndroidManifest.xml alternatif /manifest/@android:versionCode olarak kullanılabilecek bir MSBuild özelliği. Bu özelliği kabul etmek için seçeneğini de etkinleştirmeniz <GenerateApplicationManifest>true</GenerateApplicationManifest>gerekir.
Bu, .NET 6'da ileriye dönük varsayılan değer olacaktır.
Ve kullanılırsa $(AndroidCreatePackagePerAbi) $(AndroidVersionCodePattern) bu özellik yoksayılır.
@android:versionCode , her Google Play sürümü için artırılması gereken bir tamsayı değeridir. gereksinimleri /manifest/@android:versionCodehakkında daha fazla bilgi için Android belgelerine bakın.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AndroidVersionCodePattern
Geliştiricinin bildirimdeki öğesini özelleştirmesine versionCode olanak tanıyan bir dize özelliği.
Bir karar verme versionCodehakkında bilgi için bkz. APK için Sürüm Kodu Oluşturma.
Bildirimde 123{abi}{versionCode} ve versionCode ise abi armeabi bazı örnekler, true olduğunda $(AndroidCreatePackagePerAbi) versionCode 1123 üretir, aksi takdirde 123 değerini üretir.
x86_64 Ise abi ve versionCode bildirimde ise .44 Bu, True olduğunda $(AndroidCreatePackagePerAbi) üretir544, aksi takdirde değerini 44üretir.
Sol doldurma biçim dizesini {abi}{versionCode:0000}eklersek, ile doldurmaya bırakıldığından versionCode 0bu dize oluşturulur50044. Alternatif olarak, ondalık doldurmayı kullanabilirsiniz; örneğin, {abi}{versionCode:D4} önceki örnekle aynı işlemi yapar.
Değer bir tamsayı olması gerektiğinden yalnızca '0' ve 'Dx' doldurma biçimi dizeleri desteklenir.
Önceden tanımlanmış anahtar öğeleri
abi – Uygulama için hedeflenen abiyi ekler
- 2 –
armeabi-v7a - 3 –
x86 - 4 –
arm64-v8a - 5 –
x86_64
- 2 –
minSDK : veya tanımlanmamışsa desteklenen en düşük Sdk değerini
AndroidManifest.xml11ekler.versionCode – Sürüm kodunu doğrudan öğesinden
Properties\AndroidManifest.xmlkullanır.
özelliğini kullanarak $(AndroidVersionCodeProperties) özel öğeler tanımlayabilirsiniz (bundan sonra tanımlanır).
Varsayılan olarak değer olarak {abi}{versionCode:D6}ayarlanır. Bir geliştirici eski davranışı korumak istiyorsa, özelliğini olarak ayarlayarak varsayılanı $(AndroidUseLegacyVersionCode) geçersiz kılabilirsiniz true
Xamarin.Android 7.2'de eklendi.
AndroidVersionCodeProperties
Geliştiricinin ile $(AndroidVersionCodePattern)kullanılacak özel öğeleri tanımlamasına olanak tanıyan bir dize özelliği.
Bir çift şeklindedirler key=value . içindeki value tüm öğeler tamsayı değerleri olmalıdır. Örneğin: screen=23;target=$(_AndroidApiLevel). Gördüğünüz gibi dizedeki mevcut veya özel MSBuild özelliklerini kullanabilirsiniz.
Xamarin.Android 7.2'de eklendi.
ApplicationId
Dosyada AndroidManifest.xml alternatif /manifest/@package olarak kullanılabilecek bir MSBuild özelliği. Bu özelliği kabul etmek için seçeneğini de etkinleştirmeniz <GenerateApplicationManifest>true</GenerateApplicationManifest>gerekir.
Bu, .NET 6'da ileriye dönük varsayılan değer olacaktır.
gereksinimleri /manifest/@packagehakkında daha fazla bilgi için Android belgelerine bakın.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
ApplicationTitle
Dosyada AndroidManifest.xml alternatif /manifest/application/@android:label olarak kullanılabilecek bir MSBuild özelliği. Bu özelliği kabul etmek için seçeneğini de etkinleştirmeniz <GenerateApplicationManifest>true</GenerateApplicationManifest>gerekir.
Bu, .NET 6'da ileriye dönük varsayılan değer olacaktır.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
ApplicationVersion
Dosyada AndroidManifest.xml alternatif /manifest/@android:versionName olarak kullanılabilecek bir MSBuild özelliği. Bu özelliği kabul etmek için seçeneğini de etkinleştirmeniz <GenerateApplicationManifest>true</GenerateApplicationManifest>gerekir.
Bu, .NET 6'da ileriye dönük varsayılan değer olacaktır.
gereksinimleri /manifest/@android:versionNamehakkında daha fazla bilgi için Android belgelerine bakın.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
AotAssemblies
Derlemelerin yerel kodda derlenip içine eklenip .apkderlenmeyeceğini belirleyen bir boole özelliği.
Bu özellik için destek Xamarin.Android 5.1'e eklendi.
Bu özellik varsayılan olarakdır False .
AProfUtilExtraOptions
öğesine geçirmek aprofutiliçin ek seçenekler.
BeforeGenerateAndroidManifest
Bu özellikte listelenen MSBuild Hedefleri doğrudan öncesinde _GenerateJavaStubsçalışır.
Xamarin.Android 9.4'te eklendi.
Yapılandırma
"Hata Ayıklama" veya "Yayın" gibi kullanılacak derleme yapılandırmasını belirtir. Configuration özelliği, hedef davranışı belirleyen diğer özelliklerin varsayılan değerlerini belirlemek için kullanılır. IDE'nizde ek yapılandırmalar oluşturulabilir.
Varsayılan olarak, Debug yapılandırma şu şekilde sonuçlanır: Install ve SignAndroidPackage , çalışması için diğer dosyaların ve paketlerin varlığını gerektiren daha küçük bir Android paketi oluşturmayı hedefler.
Varsayılan Release yapılandırma, Install ve SignAndroidPackagetek başına bir Android paketi oluşturmayı hedefler ve başka paket veya dosya yüklemeden kullanılabilir.
DebugSymbols
Özelliğiyle birlikte Android paketinin hata ayıklanabilir olup olmadığını belirleyen boole $(DebugType) değeri.
Hata ayıklanabilir paket hata ayıklama simgeleri içerir, özniteliğini olarak trueayarlar //application/@android:debuggable ve otomatik olarak öğesini eklerINTERNET bir hata ayıklayıcının işleme ekleyebilmesi için izin. Bir uygulama, boş dize veya Fullise True DebugSymbols DebugType hata ayıklanabilir.
DebugType
Derlemenin bir parçası olarak oluşturulacak hata ayıklama simgelerinin türünü belirtir ve bu da Uygulamanın hata ayıklanabilir olup olmadığını etkiler. Olası değerler arasında şunlar bulunur:
Tam: Tam simgeler oluşturulur.
DebugSymbolsMSBuild özelliği deTrueolur, ardından Uygulama paketi hata ayıklanabilir.PdbOnly: "PDB" simgeleri oluşturulur. Uygulama paketi hata ayıklanamaz.
Ayarlanmadıysa DebugType veya boş dizeyse, DebugSymbols özelliği Uygulamanın hata ayıklanabilir olup olmadığını denetler.
EmbedAssembliesIntoApk
Uygulamanın derlemelerinin Uygulama paketine eklenip eklenmeyeceğini belirleyen boole özelliği.
Bu özellik Yayın derlemeleri ve False Hata Ayıklama derlemeleri için olmalıdırTrue. Hızlı Dağıtım hedef cihazı desteklemiyorsa Hata ayıklama derlemelerinde olması True gerekebilir.
Bu özellik olduğunda False, $(AndroidFastDeploymentType) MSBuild özelliği, içine nelerin eklenip eklenmeyeceklerini .apkde denetler ve bu da dağıtım ve yeniden oluşturma sürelerini etkileyebilir.
EnableLLVM
LLVM'nin, derlemeleri yerel koda derlerken kullanılıp kullanılmayacağını belirleyen boole özelliği.
Bu özelliğin etkinleştirildiği bir proje oluşturmak için Android NDK yüklenmelidir.
Bu özellik için destek Xamarin.Android 5.1'e eklendi.
Bu özellik varsayılan olarakdır False .
MSBuild özelliği olmadığı sürece $(AotAssemblies) bu özellik yoksayılır True.
EnableProguard
Java kodunu bağlamak için paketleme işleminin bir parçası olarak proguard çalıştırılıp çalıştırılmayacağını belirleyen boole özelliği.
Bu özellik için destek Xamarin.Android 5.1'e eklendi.
Bu özellik varsayılan olarakdır False .
Yürütmeyi denetlemek için @(ProguardConfiguration) dosyaları kullanılacağındaTrue.proguard
GenerateApplicationManifest
Son AndroidManifest.xml dosyadaki değerleri yayan aşağıdaki MSBuild özelliklerini etkinleştirir veya devre dışı bırakır:
Varsayılan değer $(GenerateApplicationManifest) .NET 6'da ve false "eski" Xamarin.Android'dedirtrue.
Bu özellik için destek Xamarin.Android 11.3'e eklendi.
JavaMaximumHeapSize
Dosyayı paketleme işleminin bir parçası olarak oluştururken .dex kullanılacak java-Xmx parametre değerini belirtir. Belirtilmezse seçeneği -Xmx java 1Gdeğerini sağlar. Bunun diğer platformlara kıyasla Windows'ta yaygın olarak gerekli olduğu bulunmuştur.
Aşağıdakileri değiştirerek değeri özelleştirin:
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
JavaOptions
Dosyayı oluştururken .dex java'ya geçirmek için komut satırı seçeneklerini belirtir.
JarsignerTimestampAuthorityCertificateAlias
Bu özellik, bir zaman damgası yetkilisi için anahtar deposunda bir diğer ad belirtmenize olanak tanır. Daha fazla ayrıntı için Java İmzası Zaman Damgası Desteği belgelerine bakın.
<PropertyGroup>
<JarsignerTimestampAuthorityCertificateAlias>Alias</JarsignerTimestampAuthorityCertificateAlias>
</PropertyGroup>
JarsignerTimestampAuthorityUrl
Bu özellik, bir zaman damgası yetkilisi hizmetinin URL'sini belirtmenize olanak tanır. Bu, imzanızın .apk bir zaman damgası içerdiğini emin olmak için kullanılabilir.
Daha fazla ayrıntı için Java İmzası Zaman Damgası Desteği belgelerine bakın.
<PropertyGroup>
<JarsignerTimestampAuthorityUrl>http://example.tsa.url</JarsignerTimestampAuthorityUrl>
</PropertyGroup>
LinkerDumpDependencies
Bağlayıcı bağımlılıkları dosyasının oluşturulmasını sağlayan bool özelliği. Bu dosya illinkanalyzer aracı için giriş olarak kullanılabilir.
adlı linker-dependencies.xml.gz bağımlılıklar dosyası proje dizinine yazılır. Üzerinde. NET5/6 dizindeki bağlı derlemelerin obj/<Configuration>/android<ABI>/linked yanına yazılır.
Varsayılan değer False'tur.
MandroidI18n
Harmanlama ve sıralama tabloları gibi Uygulamaya dahil edilen uluslararasılaştırma desteğini belirtir. Değer, aşağıdaki büyük/küçük harfe duyarlı olmayan değerlerden birinin veya daha fazlasının virgülle veya noktalı virgülle ayrılmış bir listesidir:
Hiçbiri: Ek kodlama ekleme.
Tümü: Kullanılabilir tüm kodlamaları dahil edin.
CJK: Japonca (EUC) [enc-jp, CP51932], Japonca (Shift-JIS) [iso-2022-jp, shift_jis, CP932], Japonca (JIS) [CP50220], Çince Basitleştirilmiş (GB2312) [gb2312, CP936], Korece (UHC) [ks_c_5601-1987, CP949], Korece (EUC) [euc-kr, CP51949], Geleneksel Çince (Big5) [big5, CP950]ve Çince Basitleştirilmiş (GB18030) [GB18030, CP54936].
Orta Düzey: Türkçe (Windows) [iso-8859-9, CP1254] , İbranice (Windows) [windows-1255, CP1255], Arapça (Windows) [windows-1256, CP1256], Arapça (ISO) [iso-8859-6, CP28596], İbranice (ISO) [iso-8859-8, CP28598], Latin 5 (ISO) [iso-8859-9, CP28599] ve İbranice (Iso Alternatifi) [iso-8859-8, CP38598].
Diğer: Kiril (Windows) [CP1251], Baltık (Windows) [iso-8859-4, CP1257], Vietnamca (Windows) [CP1258], Kiril (KOI8-R) [koi8-r, CP1251], Ukrayna dili (KOI8-U) [koi8-u, CP1251], Baltık (ISO) [iso-8859-4, CP1257], Kiril (ISO) [iso-8859-5, CP1251], ISCII Davenagari [x-iscii-de, CP57002], ISCII Bengali [x-iscii-be, CP57003], ISCII Tamil [x-iscii-ta, CP57004], ISCII Telugu [x-iscii-te, CP57005], ISCII Assamese [x-iscii-as, CP57006], ISCII Oriya [x-iscii-or, CP57007], ISCII Kannada [x-iscii-ka, CP57008], ISCII Malayalam [x-iscii-ma, CP57009], ISCII Gujarati [x-iscii-gu, CP57010], ISCII Punjabi [x-iscii-pa, CP57011]ve Tay dili (Windows) [CP874].
Nadir: IBM EBCDIC (Türkçe) [CP1026], IBM EBCDIC (Open Systems Latin 1) [CP1047], IBM EBCDIC (EURO ile ABD-Kanada) [CP1140], IBM EBCDIC (Euro ile Almanya) [CP1141], IBM EBCDIC (Danimarka/Euro ile Norveç) [CP1142], IBM EBCDIC (Euro ile Finlandiya/İsveç) [CP1143], IBM EBCDIC (Euro ile İtalya) [CP1144], IBM EBCDIC (Latin Amerika/İspanya- Euro) [CP1145], IBM EBCDIC (Euro ile Birleşik Krallık) [CP1146], IBM EBCDIC (Fransa, Euro) [CP1147], IBM EBCDIC (Euro ile Uluslararası) [CP1148], IBM EBCDIC (Euro ile İzlanda) [CP1149], IBM EBCDIC (Almanya) [CP20273], IBM EBCDIC (Danimarka/Norveç) [CP20277], IBM EBCDIC (Finlandiya/İsveç) [CP20278], IBM EBCDIC (İtalya) [CP20280], IBM EBCDIC (Latin Amerika/İspanya) [CP20284], IBM EBCDIC (Birleşik Krallık) [CP20285], IBM EBCDIC (Japon Katakana Extended) [CP20290], IBM EBCDIC (Fransa) [CP20297], IBM EBCDIC (Arapça) [CP20420], IBM EBCDIC (İbranice) [CP20424], IBM EBCDIC (İzlandaca) [CP20871], IBM EBCDIC (Kiril - Sırp, Bulgarca) [CP21025], IBM EBCDIC (ABD-Kanada) [CP37], IBM EBCDIC (Uluslararası) [CP500], Arapça (ASMO 708) [CP708], Orta Avrupa (DOS) [CP852], Kiril (DOS) [CP855], Türkçe (DOS) [CP857], Batı Avrupa (DoS- Euro) [CP858], İbranice (DOS) [CP862], Arapça (DOS) [CP864], Rusça (DOS) [CP866], Yunanca (DOS) [CP869], IBM EBCDIC (Latin 2) [CP870]ve IBM EBCDIC (Yunanca) [CP875].
Batı: Batı Avrupa (Mac) [macintosh, CP10000], İzlandaca (Mac) [x-mac-İzlandaca, CP10079], Orta Avrupa (Windows) [iso-8859-2, CP1250], Batı Avrupa (Windows) [iso-8859-1, CP1252], Yunanca (Windows) [iso-8859-7, CP1253], Orta Avrupa (ISO) [iso-8859-2, CP28592], Latin 3 (ISO) [iso-8859-3, CP28593], Yunanca (ISO) [iso-8859-7, CP28597], Latin 9 (ISO) [iso-8859-15, CP28605], OEM Birleşik Devletler [CP437], Batı Avrupa (DOS) [CP850], Portekizce (DOS) [CP860], İzlandaca (DOS) [CP861], Fransızca Kanada (DOS) [CP863]ve İskandinav (DOS) [CP865].
<MandroidI18n>West</MandroidI18n>
MonoAndroidResourcePrefix
Dosya adlarının başlangıcından kaldırılan bir yol ön ekini AndroidResourcebuild eylemiyle belirtir. Bu, kaynakların bulunduğu yeri değiştirmeye izin vermektir.
Varsayılan değer şudur: Resources. Java proje yapısı için bunu olarak res değiştirin.
MonoSymbolArchive
Yayın yığını izlemelerinden "gerçek" dosya adı ve satır numarası bilgilerini ayıklamak için ile daha sonra kullanmak mono-symbolicateüzere yapıt oluşturulup oluşturulmayacağını .mSYM denetleyen boole özelliği.
Hata ayıklama simgelerinin etkinleştirildiği "Yayın" uygulamaları için bu varsayılan olarak True'dur: $(EmbedAssembliesIntoApk) True, $(DebugSymbols) True ve $(Optimize) True değeridir.
Xamarin.Android 7.1'de eklendi.