Debuggable Özniteliği
Hata ayıklamayı mümkün kılmak için Android, Java Hata Ayıklama Tel Protokolü'ne (JDWP) sahiptir. Bu, ADB gibi araçların JVM ile iletişim kurmasına olanak tanıyan bir teknolojidir. Geliştirme sırasında JDWP önemli olsa da, uygulama yayımlanmadan önce devre dışı bırakılmalıdır.
JDWP, bir Android uygulamasında özniteliğin android:debuggable
değeriyle yapılandırılabilir. Xamarin.Android'de bu özniteliği ayarlamak için aşağıdaki üç yoldan birini seçin:
AndroidManifest.xml
Dosya oluşturun veya açın AndroidManifext.xml
ve özniteliğini orada ayarlayın android:debuggable
. Hata ayıklama etkin olarak yayın derlemenizi göndermemeye dikkat edin.
<application android:label="@string/app_name"
android:debuggable="true"
android:icon="@mipmap/appicon">
...
</application>
Uygulama sınıfı özniteliği ekleme
Xamarin.Android uygulamanızın özniteliği olan bir [Application]
sınıfı varsa özniteliğini olarak [Application(Debuggable = true)]
güncelleştirin. false
Devre dışı bırakmak için olarak ayarlayın.
Derleme özniteliği ekleme
Xamarin.Android uygulamanızın zaten bir [Application]
sınıf özniteliği YOKSA, gibi Properties\AssemblyInfo.cs
bir c# dosyasına derleme düzeyi özniteliği [assembly: Application(Debuggable=true)]
ekleyin. false
Devre dışı bırakmak için olarak ayarlayın.
Özet
hem ve ApplicationAttribute
hem de AndroidManifest.xml
mevcutsa, içeriğinin AndroidManifest.xml
içeriği tarafından ApplicationAttribute
belirtilenlere göre öncelik alır.
Hem sınıf özniteliği hem de derleme özniteliği eklerseniz derleyici hatası olur:
"Error The "GenerateJavaStubs" task failed unexpectedly.
System.InvalidOperationException: Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute."
Varsayılan olarak , ne de AndroidManifest.xml
ApplicationAttribute
mevcut değilse, özniteliğin değeri hata ayıklama simgelerinin android:debuggable
oluşturulup oluşturulmadığına bağlıdır. Hata ayıklama simgeleri varsa, Xamarin.Android özniteliğini android:debuggable
true
sizin için olarak ayarlar.
Uyarı
özniteliğinin android:debuggable
değeri derleme yapılandırmasına bağlı DEĞİlDİr. Yayın derlemelerinin özniteliğinin android:debuggable
true olarak ayarlanması mümkündür. Bu değeri ayarlamak için bir öznitelik kullanırsanız, özniteliği bir derleyici yönergesinde sarmalama seçeneğini belirleyebilirsiniz:
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif