Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby umożliwić debugowanie, system Android obsługuje protokół JDWP (Java Debug Wire Protocol). Jest to technologia, która umożliwia narzędziom takim jak ADB komunikowanie się z maszyną wirtualną JVM. Chociaż zestaw JDWP jest ważny podczas opracowywania, należy go wyłączyć przed opublikowaniem aplikacji.
JDWP można skonfigurować za pomocą wartości atrybutu android:debuggable w aplikacji systemu Android. Wybierz jeden z następujących trzech sposobów ustawiania tego atrybutu na platformie Xamarin.Android:
AndroidManifest.xml
Utwórz lub otwórz AndroidManifext.xml plik i ustaw android:debuggable tam atrybut. Zadbaj o to, aby nie dostarczać kompilacji wydania z włączonym debugowaniem.
<application android:label="@string/app_name"
android:debuggable="true"
android:icon="@mipmap/appicon">
...
</application>
Dodawanie atrybutu klasy aplikacji
Jeśli aplikacja Xamarin.Android ma klasę z atrybutem [Application] , zaktualizuj atrybut na [Application(Debuggable = true)]. Ustaw ją na wartość , aby false ją wyłączyć.
Dodawanie atrybutu zestawu
Jeśli aplikacja Xamarin.Android nie ma jeszcze atrybutu [Application] klasy, dodaj atrybut [assembly: Application(Debuggable=true)] na poziomie zestawu w pliku c#, Properties\AssemblyInfo.cstakim jak . Ustaw ją na wartość , aby false ją wyłączyć.
Podsumowanie
AndroidManifest.xml Jeśli element i ApplicationAttribute są obecne, zawartość elementu przejmuje AndroidManifest.xml priorytet nad tym, co jest określone przez element ApplicationAttribute.
Jeśli dodasz zarówno atrybut klasy, jak i atrybut zestawu, wystąpi błąd kompilatora:
"Error The "GenerateJavaStubs" task failed unexpectedly.
System.InvalidOperationException: Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute."
Domyślnie — jeśli ani AndroidManifest.xml nie ma wartości , ani ApplicationAttribute nie jest obecny — wartość android:debuggable atrybutu zależy od tego, czy są generowane symbole debugowania. Jeśli symbole debugowania są obecne, dla atrybutu android:debuggable zostanie ustawiony atrybut true Xamarin.Android.
Ostrzeżenie
Wartość atrybutu android:debuggable NIE musi zależeć od konfiguracji kompilacji. Istnieje możliwość, że kompilacje wydania mają android:debuggable atrybut ustawiony na wartość true. Jeśli używasz atrybutu do ustawienia tej wartości, możesz opakowować atrybut w dyrektywie kompilatora:
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif