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.
Yürütme Ortamı
Yürütme ortamı , program yürütmeyi etkileyen ortam değişkenleri ve Android sistem özellikleri kümesidir. Android sistem özellikleri komutuyla adb shell setprop ayarlanabilirken, sistem özelliği ayarlanarak debug.mono.env ortam değişkenleri ayarlanabilir:
## Enable GREF logging
adb shell setprop debug.mono.log gref
## Set the MONO_LOG_LEVEL and MONO_LOG_MASK environment variables
## so that additional Mono messages will be written to `adb logcat`.
adb shell setprop debug.mono.env "'MONO_LOG_LEVEL=info|MONO_LOG_MASK=asm'"
Android sistem özellikleri hedef cihazdaki tüm işlemler için ayarlanır.
Xamarin.Android 4.6'dan başlayarak, projeye bir ortam dosyası eklenerek hem sistem özellikleri hem de ortam değişkenleri uygulama başına temelinde ayarlanabilir veya geçersiz kılınabilir. Ortam dosyası, Build eylemine sahip Unix biçimli bir düz metin dosyasıdırAndroidEnvironment.
Ortam dosyası key=value biçiminde çizgiler içerir.
Açıklamalar ile #başlayan satırlardır. Boş satırlar yoksayılır.
Anahtar büyük harfle başlıyorsa, anahtar bir ortam değişkeni olarak değerlendirilir ve işlem başlatma sırasında ortam değişkenini belirtilen değere ayarlamak için setenv(3) kullanılır.
Anahtar küçük harfle başlıyorsa, anahtar bir Android sistem özelliği olarak değerlendirilir ve değer varsayılan değerdir: Xamarin.Android yürütme davranışını denetleyen Android sistem özellikleri önce Android sistem özellik deposundan aranır ve değer yoksa ortam dosyasında belirtilen değer kullanılır. Bu, tanılama amacıyla ortam dosyasından gelen değerleri geçersiz kılmak için kullanılmasına izin adb shell setprop vermektir.
Xamarin.Android Ortam Değişkenleri
Xamarin.Android, Derleme eylemi aracılığıyla adb shell setprop debug.mono.env veya aracılığıyla ayarlanabilen $(AndroidEnvironment) değişkeni desteklerXA_HTTP_CLIENT_HANDLER_TYPE.
XA_HTTP_CLIENT_HANDLER_TYPE
HttpMessageHandler'dan devralması gereken ve varsayılan oluşturucudan HttpClient()oluşturulur derleme nitelikli türü.
Xamarin.Android 6.1'de bu ortam değişkeni varsayılan olarak ayarlanmaz ve HttpClientHandler kullanılır.
Alternatif olarak, kullanılacak değer Xamarin.Android.Net.AndroidClientHandler belirtilebilir java.net.URLConnectionandroid tarafından desteklendiğinde TLS 1.2 kullanımına izin verebilen ağ erişimi için.
Xamarin.Android 6.1'de eklendi.
Xamarin.Android Sistem Özellikleri
Xamarin.Android, Derleme eylemi aracılığıyla adb shell setprop veya aracılığıyla ayarlanabilen $(AndroidEnvironment) aşağıdaki sistem özelliklerini destekler.
debug.mono.debugdebug.mono.envdebug.mono.gcdebug.mono.logdebug.mono.max_grefcdebug.mono.profiledebug.mono.runtime_argsdebug.mono.tracedebug.mono.wrefXA_HTTP_CLIENT_HANDLER_TYPE
debug.mono.debug
Sistem özelliğinin debug.mono.debug değeri bir tamsayıdır. ise 1, işlemi ile mono --debug"sanki" başlatılmış gibi davranın.
Bu genellikle, uygulamanın bir hata ayıklayıcıdan başlatılmasına gerek kalmadan yığın izlemelerinde vb. dosya ve satır bilgilerini gösterir.
debug.mono.env
Ortam değişkenlerinin ayrılmış listesini |içerir.
debug.mono.gc
Sistem özelliğinin debug.mono.gc değeri bir tamsayıdır.
ise 1GC bilgilerinin günlüğe kaydedilmesi gerekir.
Bu, sistem özelliğinin içermesine debug.mono.log gceşdeğerdir.
debug.mono.log
Xamarin.Android'in oturum açacağı adb logcatek bilgileri denetler.
Virgülle ayrılmış bir dizedir (, ), aşağıdaki değerlerden birini içerir:
all: Tüm iletileri yazdırın. Bu, iletileri içerdiğilrefiçin nadiren iyi bir fikirdir.assembly: İletileri yazdırma.apkve derleme ayrıştırma.gc: GC ile ilgili iletileri yazdırın.gref: JNI Genel Başvuru iletilerini yazdırın.lref: JNI Yerel Başvuru iletilerini yazdırın.Not
Bu gerçekten istenmeyen posta
adb logcatolacaktır. Xamarin.Android 5.1'de bu işlem, devasa bir dosya da oluşturur.__override__/lrefs.txt. Kaçınmak.timing: Bazı yöntem zamanlama bilgilerini yazdırın. Bu, ve.__override__/counters.txtdosyalarını.__override__/methods.txtda oluşturur.
debug.mono.max_grefc
Sistem özelliğinin debug.mono.max_grefc değeri bir tamsayıdır.
Bu değer , hedef cihaz için varsayılan algılanan maksimum GREF sayısını geçersiz kılar .
Lütfen unutmayın: Değer bir environment.txt dosyasıyla adb shell setprop debug.mono.max_grefc zamanında kullanılamayacağı için bu yalnızca ile kullanılabilir.
debug.mono.profile
debug.mono.profile Sistem özelliği profil oluşturucuyu etkinleştirir.
seçeneğiyle eşdeğerdir ve seçeneğiyle aynı değerleri mono --profile kullanır. (Bkz. daha fazla bilgi için mono(1) adam sayfası.)
debug.mono.runtime_args
debug.mono.runtime_args Sistem özelliği mono tarafından ayrıştırılması gereken ek seçenekler içerir.
debug.mono.trace
debug.mono.trace Sistem özelliği izlemeyi etkinleştirir.
seçeneğiyle eşdeğerdir ve seçeneğiyle aynı değerleri mono --trace kullanır. (Bkz. daha fazla bilgi için mono(1) adam sayfası.)
Genel olarak kullanmayın. İzlemenin kullanılması istenmeyen posta adb logcat çıkışına neden olur, program davranışını birkaç yavaşlatır ve program davranışını değiştirir (ek hata koşulları ekleme dahil).
Ancak bazen bazı ek araştırmaların gerçekleştirilmesini sağlar...
debug.mono.wref
debug.mono.wref Sistem özelliği, varsayılan algılanan JNI Zayıf Başvuru mekanizmasının geçersiz kılınmasına izin verir. Desteklenen iki değer vardır:
jni: tarafındanJNIEnv::NewWeakGlobalRef()oluşturulan ve tarafındanJNIEnv::DeleteWeakGlobalREf()yok edilen JNI zayıf başvurularını kullanın.java: Örneklere başvuranjava.lang.WeakReferenceJNI Genel başvurularını kullanın.
java varsayılan olarak, API-7 ve ART etkin API-19 (Kit Kat) üzerinde kullanılır. (API-8 başvuruları ekledi jni ve ART başvuruları kırdıjni.)
Bu sistem özelliği test ve belirli araştırma biçimleri için kullanışlıdır. Genel olarak değiştirilmemelidir.
XA_HTTP_CLIENT_HANDLER_TYPE
İlk olarak Xamarin.Android 6.1'de kullanıma sunulan bu ortam değişkeni tarafından HttpClientkullanılacak varsayılan HttpMessageHandler uygulamayı bildirir. Varsayılan olarak bu değişken ayarlanmaz ve Xamarin.Android kullanır HttpClientHandler.
XA_HTTP_CLIENT_HANDLER_TYPE=Xamarin.Android.Net.AndroidClientHandler
Not
Temel alınan Android cihazın TLS 1.2'yi desteklemesi gerekir. Android 5.0 ve üzeri TLS 1.2'i destekler
Örnek
## Comments are lines which start with '#'
## Blank lines are ignored.
## Enable GREF messages to `adb logcat`
debug.mono.log=gref
## Clear out a Mono environment variable to decrease logging
MONO_LOG_LEVEL=