2015-09-10 9 views
0

После обновления моего сервера сборки от Xamarin.Android от 4.x до 5.1, и я пытаюсь открыть действие в своем приложении Xamarin.Android из другого приложения, я получаю следующие ошибки:Android.Content.ActivityNotFoundException после обновления набора инструментов Xamarin

Exception of type 'Android.Content.ActivityNotFoundException' was thrown.|Android.Content.ActivityNotFoundException: Exception of type 'Android.Content.ActivityNotFoundException' was thrown. 

android.content.ActivityNotFoundException: Unable to find explicit activity class {net.uk.mobilecomputing.p1sync/p2d2syncmono.Priority1Upgrade}; have you declared this activity in your AndroidManifest.xml? 

ответ

1

Xamarin docs говорит: «Начиная с Xamarin.Android 5,1, название вида деятельности основывается на md5sum актового квалифицированное имя типа экспортируемого.»

Вы можете переопределить это новое поведение, указав явно полное имя активности, например.

[Activity (Name="awesome.demo.activity")] 
public class MyActivity : Activity 
{ 
} 

Симптомы

Вы можете наблюдать md5 коверкая, если вы посмотрите на 4.x Xamarin.Android генерируемой AndroidManifest.xml (от APK или \obj\Release\android\AndroidManifest.xml в папку сборки)

<activity android:label="Diagnostics" android:launchMode="singleTop" android:name="myapp.DiagnosticsActivity" /> 

Xamarin.Android 5.1 генерируемый AndroidManifest.xml

<activity android:label="Diagnostics" android:launchMode="singleTop" android:name="md5639bd49aa1d9951fabb0323996a58a3f.DiagnosticsActivity" /> 
Смежные вопросы