Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.csnapří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.xmlApplicationAttribute 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