Atribut yang Dapat Di-debug
Untuk memungkinkan penelusuran kesalahan, Android mendukung Java Debug Wire Protocol (JDWP). Ini adalah teknologi yang memungkinkan alat seperti ADB untuk berkomunikasi dengan JVM. Meskipun JDWP penting selama pengembangan, JDWP harus dinonaktifkan sebelum aplikasi diterbitkan.
JDWP dapat dikonfigurasi oleh nilai android:debuggable
atribut dalam aplikasi Android. Pilih salah satu dari tiga cara berikut untuk mengatur atribut ini di Xamarin.Android:
AndroidManifest.xml
Buat atau buka AndroidManifext.xml
file, dan atur atribut di android:debuggable
sana. Berhati-hatilah untuk tidak mengirim build rilis Anda dengan debugging diaktifkan.
<application android:label="@string/app_name"
android:debuggable="true"
android:icon="@mipmap/appicon">
...
</application>
Menambahkan atribut kelas Aplikasi
Jika aplikasi Xamarin.Android Anda memiliki kelas dengan [Application]
atribut , perbarui atribut ke [Application(Debuggable = true)]
. Atur ke false
untuk menonaktifkan.
Menambahkan atribut assembly
Jika aplikasi Xamarin.Android Anda BELUM memiliki [Application]
atribut kelas, tambahkan atribut [assembly: Application(Debuggable=true)]
tingkat rakitan dalam file c# seperti, Properties\AssemblyInfo.cs
. Atur ke false
untuk menonaktifkan.
Ringkasan
Jika dan AndroidManifest.xml
ApplicationAttribute
ada, konten AndroidManifest.xml
prioritas atas apa yang ditentukan oleh ApplicationAttribute
.
Jika Anda menambahkan atribut kelas dan atribut assembly, akan ada kesalahan kompilator:
"Error The "GenerateJavaStubs" task failed unexpectedly.
System.InvalidOperationException: Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute."
Secara default – jika tidak ada AndroidManifest.xml
atau ApplicationAttribute
tidak – nilai android:debuggable
atribut tergantung pada apakah simbol debug dihasilkan atau tidak. Jika simbol debug ada, maka Xamarin.Android akan mengatur android:debuggable
atribut ke true
untuk Anda.
Peringatan
Nilai android:debuggable
atribut TIDAK selalu bergantung pada konfigurasi build. Dimungkinkan bagi build rilis agar atribut diatur android:debuggable
ke true. Jika Anda menggunakan atribut untuk mengatur nilai ini, Anda dapat memilih untuk membungkus atribut dalam direktif kompilator:
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif