遇到问题 运行 标准 Xamarin 应用程序
Having troubles running the standard Xamarin app
我刚刚为 Mac 安装了新的 Visual Studio,但我无法在模拟器上 运行 标准应用程序。这是 "hello world" 应用程序,它是在您创建新项目时由 Visual Studio 自己创建的。我已经尝试 运行 使用随附的模拟器和 Xamarin Android Player。但是,对于这两个模拟器,我都收到以下错误:
"Unfortunately, app has stopped."
模拟器运行良好。只是应用程序出了问题。
我觉得我在清单中遗漏了什么。但这是标准应用程序。应该可以吧?
主要代码 activity:
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
[Android运行时]进程:com.test.app3,PID:5225
[Android运行时] java.lang.RuntimeException:无法获取提供程序 mono.MonoRuntimeProvider:java.lang.RuntimeException:无法找到应用程序 Mono.Android.Platform。ApiLevel_24 或 Xamarin.Android.Platform!
[Android运行时] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5156)
[Android运行时] 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
[Android运行时] 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
[Android运行时] 在 android.app.ActivityThread.-wrap1(ActivityThread.java)
[Android运行时] 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
[Android运行时] 在 android.os.Handler.dispatchMessage(Handler.java:102)
[Android运行时] 在 android.os.Looper.loop(Looper.java:148)
[Android运行时] 在 android.app.ActivityThread.main(ActivityThread.java:5417)
[Android运行时] 在 java.lang.reflect.Method.invoke(本机方法)
[Android运行时] 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
[Android运行时] 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
[Android运行时] 原因:java.lang.RuntimeException:无法找到应用程序 Mono.Android.Platform。ApiLevel_24 或 Xamarin.Android.Platform!
[Android运行时] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:38)
[Android运行时] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5153)
[Android运行时] ... 还有 10 个
[Android运行时] 原因:android.content.pm.PackageManager$NameNotFoundException:Xamarin.Android.Platform
[Android运行时] 在 android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:304)
[Android运行时] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:32)
[Android运行时] ... 11 更多
我在 Andrius 的帮助下找到了答案。我用谷歌搜索了运行时异常,我在这里找到了解决方案:
我将目标框架更改为 Android Marshmallow
我刚刚为 Mac 安装了新的 Visual Studio,但我无法在模拟器上 运行 标准应用程序。这是 "hello world" 应用程序,它是在您创建新项目时由 Visual Studio 自己创建的。我已经尝试 运行 使用随附的模拟器和 Xamarin Android Player。但是,对于这两个模拟器,我都收到以下错误:
"Unfortunately, app has stopped."
模拟器运行良好。只是应用程序出了问题。
我觉得我在清单中遗漏了什么。但这是标准应用程序。应该可以吧?
主要代码 activity:
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
[Android运行时]进程:com.test.app3,PID:5225 [Android运行时] java.lang.RuntimeException:无法获取提供程序 mono.MonoRuntimeProvider:java.lang.RuntimeException:无法找到应用程序 Mono.Android.Platform。ApiLevel_24 或 Xamarin.Android.Platform! [Android运行时] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5156) [Android运行时] 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4748) [Android运行时] 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) [Android运行时] 在 android.app.ActivityThread.-wrap1(ActivityThread.java) [Android运行时] 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) [Android运行时] 在 android.os.Handler.dispatchMessage(Handler.java:102) [Android运行时] 在 android.os.Looper.loop(Looper.java:148) [Android运行时] 在 android.app.ActivityThread.main(ActivityThread.java:5417) [Android运行时] 在 java.lang.reflect.Method.invoke(本机方法) [Android运行时] 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) [Android运行时] 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) [Android运行时] 原因:java.lang.RuntimeException:无法找到应用程序 Mono.Android.Platform。ApiLevel_24 或 Xamarin.Android.Platform! [Android运行时] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:38) [Android运行时] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5153) [Android运行时] ... 还有 10 个 [Android运行时] 原因:android.content.pm.PackageManager$NameNotFoundException:Xamarin.Android.Platform [Android运行时] 在 android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:304) [Android运行时] 在 mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:32) [Android运行时] ... 11 更多
我在 Andrius 的帮助下找到了答案。我用谷歌搜索了运行时异常,我在这里找到了解决方案:
我将目标框架更改为 Android Marshmallow