Laditelný atribut
Aby bylo možné ladění, Android podporuje 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 JDWP během vývoje důležitá, měla by být před publikováním aplikace zakázaná.
JDWP je možné nakonfigurovat podle hodnoty android:debuggable atributu v aplikaci pro Android. Zvolte jeden z následujících tří způsobů nastavení tohoto atributu v Xamarin.Android:
AndroidManifest.xml
Vytvořte nebo otevřete AndroidManifext.xml soubor a nastavte android:debuggable atribut tam. Je velmi opatrně, abyste sestavení pro vydání neposíli s povoleným laděním.
Přidání atributu třídy aplikace
Pokud má vaše aplikace Xamarin.Android třídu s [Application] atributem , aktualizujte atribut na [Application(Debuggable = true)] . Nastavte ho na false hodnotu a zakažte ji.
Přidání atributu sestavení
Pokud vaše aplikace Xamarin.Android ještě nemá atribut třídy, přidejte do souboru c# atribut na [Application][assembly: Application(Debuggable=true)] úrovni sestavení. Nastavte ho na false hodnotu a zakažte ji.
Souhrn
Pokud jsou přítomné objekty i , obsah objektu má přednost před tím, co AndroidManifest.xmlApplicationAttribute je určeno AndroidManifest.xml objektem 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 ani není k dispozici – hodnota atributu závisí na tom, zda jsou AndroidManifest.xmlApplicationAttributeandroid:debuggable generovány symboly ladění. Pokud jsou symboly ladění k dispozici, Xamarin.Android pro vás android:debuggable nastaví true atribut na .
Upozornění
Hodnota atributu android:debuggable NEMUSÍ nutně záviset na konfiguraci sestavení. Je možné, že sestavení verzí mají atribut android:debuggable 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