Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin表单,应用程序在VisualStudioAndroid Emulator上运行,但在真实设备上崩溃_C#_Visual Studio_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

C# Xamarin表单,应用程序在VisualStudioAndroid Emulator上运行,但在真实设备上崩溃

C# Xamarin表单,应用程序在VisualStudioAndroid Emulator上运行,但在真实设备上崩溃,c#,visual-studio,xamarin,xamarin.forms,xamarin.android,C#,Visual Studio,Xamarin,Xamarin.forms,Xamarin.android,我已经创建了一个应用程序,当构建应用程序在VisualStudioEmulator上完美运行时。因此,我创建了release Build,并尝试在我的物理android设备上运行该应用程序。我在设备上收到以下错误消息。我使用了Xam.plugin.media android.runtime.JavaProxyThrowable:System.NullReferenceException:对象引用未设置为对象的实例 在Xamarin.Forms.Platform.Android.formsappc

我已经创建了一个应用程序,当构建应用程序在VisualStudioEmulator上完美运行时。因此,我创建了release Build,并尝试在我的物理android设备上运行该应用程序。我在设备上收到以下错误消息。我使用了
Xam.plugin.media

android.runtime.JavaProxyThrowable:System.NullReferenceException:对象引用未设置为对象的实例 在Xamarin.Forms.Platform.Android.formsappcompativity.InternalSetPage(Xamarin.Forms.Page)[0x0006f]中:0 位于:0中的Xamarin.Forms.Platform.Android.formsappcompativity.SetMainPage()[0x0000c] 位于:0中的Xamarin.Forms.Platform.Android.formsappcompativity.LoadApplication(Xamarin.Forms.Application应用程序)[0x0025c] 兴趣点:0中的match.Droid.MainActivity.OnCreate(Android.OS.Bundle包)[0x00033] 在Android.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_(System.IntPtr jnienv,System.IntPtr native_this,System.IntPtr native_savedInstanceState)[0x0000f]in:0 at(包装器动态方法)系统。对象:6b534aff-3541-46f2-a92e-AC0024B9C4A7(intptr、intptr、intptr) 在MD5ED93386354F0E17F050B288571203CA.MainActivity.n_onCreate处(本机方法) 在MD5ED93386354F0E17F050B288571203Ca.MainActivity.onCreate(MainActivity.java:29) 位于android.app.Activity.performCreate(Activity.java:6303) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402)上 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2509)上 在android.app.ActivityThread.access上$1000(ActivityThread.java:153) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:154) 位于android.app.ActivityThread.main(ActivityThread.java:5523) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)

这是我的密码

MainActivity.cs

public class MainActivity global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;



        Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity = this;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());
    }



    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
    {
        PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }

}
     using InterestMatch.Inter;
     using InterestMatch.Models;
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using Xamarin.Auth;
     using Xamarin.Forms;

     namespace InterestM
     {
     public partial class App : Application
{

    public static string AppName { get { return "StoreAccountInfoApp"; } }

    public static ICredentialsService CredentialsService { get; private set; }

    public App ()
    {                      
         var account = AccountStore.Create().FindAccountsForService(App.AppName).FirstOrDefault();

         CredentialsService = new CredentialsService();

        if (CredentialsService.DoCredentialsExist())
        {
            InitializeComponent();               
            MainPage = new NavigationPage(new InterestM.MainMenu(account.Username.ToString()));
        }
        else
        {
            InitializeComponent();
            MainPage = new NavigationPage(new InterestM.Accounts.Login());
        }

    }

    protected override void OnStart ()
    {
        // Handle when your app starts
    }

    protected override void OnSleep ()
    {
        // Handle when your app sleeps
    }

    protected override void OnResume ()
    {
        // Handle when your app resumes
    }
}
app.xaml.cs

public class MainActivity global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;



        Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity = this;

        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());
    }



    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
    {
        PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }

}
     using InterestMatch.Inter;
     using InterestMatch.Models;
     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using Xamarin.Auth;
     using Xamarin.Forms;

     namespace InterestM
     {
     public partial class App : Application
{

    public static string AppName { get { return "StoreAccountInfoApp"; } }

    public static ICredentialsService CredentialsService { get; private set; }

    public App ()
    {                      
         var account = AccountStore.Create().FindAccountsForService(App.AppName).FirstOrDefault();

         CredentialsService = new CredentialsService();

        if (CredentialsService.DoCredentialsExist())
        {
            InitializeComponent();               
            MainPage = new NavigationPage(new InterestM.MainMenu(account.Username.ToString()));
        }
        else
        {
            InitializeComponent();
            MainPage = new NavigationPage(new InterestM.Accounts.Login());
        }

    }

    protected override void OnStart ()
    {
        // Handle when your app starts
    }

    protected override void OnSleep ()
    {
        // Handle when your app sleeps
    }

    protected override void OnResume ()
    {
        // Handle when your app resumes
    }
}

}更改Android项目选项为我解决了这个问题


打开Android项目的属性。转到Android选项。将链接属性更改为“仅Sdk程序集”

您能向我们展示您的App.xaml.cs吗?@Sven MichaelStübe我已经添加了App.xaml.cs文件