Laditelný atribut
Aby bylo možné ladění, Android podporuje protokol JDWP (Java Debug Wire Protocol). Jedná se o technologii, která umožňuje nástrojům, jako je ADB, komunikovat s prostředím JVM. I když je během vývoje důležité JDWP, měla by být před publikováním aplikace zakázaná.
JDWP lze nakonfigurovat hodnotou atributu android:debuggable
v aplikaci pro Android. Zvolte jeden z následujících tří způsobů, jak nastavit tento atribut v Xamarin.Androidu:
AndroidManifest.xml
Vytvořte nebo otevřete AndroidManifext.xml
soubor a nastavte android:debuggable
atribut tam. Dbejte na to, abyste sestavení vydané verze neposílali s povoleným laděním.
<application android:label="@string/app_name"
android:debuggable="true"
android:icon="@mipmap/appicon">
...
</application>
Přidání atributu třídy aplikace
Pokud má vaše aplikace Xamarin.Android třídu s atributem [Application]
, aktualizujte atribut na [Application(Debuggable = true)]
. Nastavte ho tak, aby false
se zakázal.
Přidání atributu sestavení
Pokud aplikace Xamarin.Android ještě nemá [Application]
atribut třídy, přidejte do souboru c# atribut [assembly: Application(Debuggable=true)]
na úrovni sestavení, Properties\AssemblyInfo.cs
například . Nastavte ho tak, aby false
se zakázal.
Shrnutí
Pokud jsou k dispozici oba AndroidManifest.xml
a jsou ApplicationAttribute
přítomny, obsah AndroidManifest.xml
má přednost před tím, co je určeno ApplicationAttribute
.
Pokud přidáte atribut třídy i atribut sestavení, dojde k chybě kompilátoru:
"Error The "GenerateJavaStubs" task failed unexpectedly.
System.InvalidOperationException: Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute."
Ve výchozím nastavení – pokud AndroidManifest.xml
ApplicationAttribute
ani není k dispozici – hodnota android:debuggable
atributu závisí na tom, zda se generují symboly ladění nebo ne. Pokud jsou k dispozici symboly ladění, Xamarin.Android nastaví android:debuggable
atribut za true
vás.
Upozorňující
Hodnota atributu android:debuggable
nemusí nutně záviset na konfiguraci sestavení. Sestavení vydaných verzí můžou mít android:debuggable
atribut nastavený na hodnotu true. Pokud k nastavení této hodnoty použijete atribut, můžete ho zabalit do direktivy kompilátoru:
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif