2017-01-23 115 views
0

我在Mac上卸载了Xamarin。然后重新安装它。 6.1.4(Build1)。 现在我创建了一个新的解决方案。随着便携式类库的选择。然后我编译。然后我安装在同一台机器上运行的模拟器上。但在发布本身的应用程序失败。然后我检查了应用输出。以下是日志。我无法继续。请帮忙。我检查了:“模拟器android上安装了”Xamarin.Android API-23支持“和”单声道运行时“。 (卸载这些组件也没有解决)刚刚发布后,Xamarin Android应用程序在android上崩溃。缺少MonoRuntimeProvider

在此先感谢。

下面是日志:

am start -n "in.test.buttonlogger/md50a143af76fade5fdcdfca266ac349d28.MainActivity" 
Starting: Intent { cmp=in.test.buttonlogger/md50a143af76fade5fdcdfca266ac349d28.MainActivity } 

[art] Not late-enabling -Xcheck:jni (already on) 
[art] Unexpected CPU variant for X86 using defaults: x86 
[AndroidRuntime] Shutting down VM 
[AndroidRuntime] FATAL EXCEPTION: main 
[AndroidRuntime] Process: in.kosi.buttonlogger, PID: 6621 
[AndroidRuntime] java.lang.RuntimeException: Unable to get provider mono.MonoRuntimeProvider: java.lang.RuntimeException: Unable to find application Mono.Android.Platform.ApiLevel_24 or Xamarin.Android.Platform! 
[AndroidRuntime] at android.app.ActivityThread.installProvider(ActivityThread.java:5856) 
[AndroidRuntime] at android.app.ActivityThread.installContentProviders(ActivityThread.java:5445) 
[AndroidRuntime] at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5384) 
[AndroidRuntime] at android.app.ActivityThread.-wrap2(ActivityThread.java) 
[AndroidRuntime] at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545) 
[AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:102) 
[AndroidRuntime] at android.os.Looper.loop(Looper.java:154) 
[AndroidRuntime] at android.app.ActivityThread.main(ActivityThread.java:6119) 
[AndroidRuntime] at java.lang.reflect.Method.invoke(Native Method) 
[AndroidRuntime] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
[AndroidRuntime] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
[AndroidRuntime] Caused by: java.lang.RuntimeException: Unable to find application Mono.Android.Platform.ApiLevel_24 or Xamarin.Android.Platform! 
[AndroidRuntime] at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:38) 
[AndroidRuntime] at android.app.ActivityThread.installProvider(ActivityThread.java:5853) 
[AndroidRuntime] ... 10 more 
[AndroidRuntime] Caused by: android.content.pm.PackageManager$NameNotFoundException: Xamarin.Android.Platform 
[AndroidRuntime] at android.app.ApplicationPackageManager.getApplicationInfoAsUser(ApplicationPackageManager.java:345) 
[AndroidRuntime] at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:327) 
[AndroidRuntime] at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:32) 
[AndroidRuntime] ... 11 more 
+0

选中此:https://forums.xamarin.com/discussion/10159/can-no-longer-run-android-applications-using-xamarin-4-2-and-xamarin-android-4-10- 1 – Gusman

回答

1

当您遇到此问题,正常的解决方案如下在.csproj文件只需编辑AndroidUseLatestPlatformSdk属性为指定项目false

<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk> 

如果这不起作用,则尝试在Android Options下的Project Properties中禁用Shared Runtime

作为最后一个选项,您还可以尝试在Project Properties下减少您的Target Framework,General

+0

是的。将AndroidUseLatestPlatformSdk设置为false。//Droid/ttteest.Droid.csproj解决了这个问题。但是在创建项目本身时使用GUI的任何GUI方式? –

+0

不,不幸的不是。但是如果您有特定要求,您可以随时向Xamarin提供反馈。 – Demitrian