【发布时间】:2016-11-19 15:16:02
【问题描述】:
我刚刚安装了新的 Visual Studio for Mac,但无法在模拟器上运行标准应用程序。它是在您创建新项目时由 Visual Studio 本身创建的“hello world”应用程序。我尝试使用附带的模拟器以及 Xamarin Android Player 运行它。但是,对于这两个模拟器,我都会收到以下错误:
“很遗憾,应用程序已停止。”
模拟器工作正常。只有应用会出现问题。
我觉得我在清单或其他东西中遗漏了一些东西。但这是标准应用程序。应该可以吧?
主要活动的代码:
using Android.App;
using Android.Widget;
using Android.OS;
namespace Project_App3.Droid
{
[Activity(Label = "App3", MainLauncher = true, Icon = "@mipmap/icon")]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.myButton);
button.Click += delegate { button.Text = $"{count++} clicks!"; };
}
}
}
清单代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.test.app3">
<uses-sdk android:minSdkVersion="15" />
<application android:label="App3">
</application>
</manifest>
应用程序输出:
[art] Not late-enabling -Xcheck:jni (already on)
[AndroidRuntime] Shutting down VM
[AndroidRuntime] FATAL EXCEPTION: main
[AndroidRuntime] 进程:com.test.app3,PID:5225 [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] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5156) [AndroidRuntime] 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4748) [AndroidRuntime] 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) [AndroidRuntime] 在 android.app.ActivityThread.-wrap1(ActivityThread.java) [AndroidRuntime] 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) [AndroidRuntime] 在 android.os.Handler.dispatchMessage(Handler.java:102) [AndroidRuntime] 在 android.os.Looper.loop(Looper.java:148) [AndroidRuntime] 在 android.app.ActivityThread.main(ActivityThread.java:5417) [AndroidRuntime] 在 java.lang.reflect.Method.invoke(Native Method) [AndroidRuntime] 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) [AndroidRuntime] 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) [AndroidRuntime] 原因:java.lang.RuntimeException:无法找到应用程序 Mono.Android.Platform.ApiLevel_24 或 Xamarin.Android.Platform! [AndroidRuntime] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:38) [AndroidRuntime] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5153) [AndroidRuntime] ... 10 更多 [AndroidRuntime] 引起:android.content.pm.PackageManager$NameNotFoundException:Xamarin.Android.Platform [AndroidRuntime] 在 android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:304) [AndroidRuntime] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:32) [AndroidRuntime] ... 11 更多
【问题讨论】:
-
当然,没有构建错误。
-
当它显示“不幸的是,应用程序已停止”时,您应该会看到一些错误。
-
一定有一些运行时错误。模拟器是什么 API 级别?
-
@Andrius API 级别 23 用于包含的模拟器和 API 级别 22 用于 Xamarin Android Player。我会在一分钟内尝试包含错误的屏幕截图
-
错误截图:imgur.com/a/Ql0Xf
标签: c# android xamarin xamarin.android visual-studio-mac