Sdílet prostřednictvím


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.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