Xamarin形式,在Visual Studio Android模拟器上运行的应用程序,但在真实设备上崩溃



我已经创建了一个应用程序,当构建应用程序在Visual Studio Emulator上运行时。因此,我在物理Android设备上创建了版本并尝试运行该应用程序。我在设备上收到以下错误消息。我已经使用了Xam.plugin.media

android.runtime.javaproxythrowable:system.nullReferenceException:对象引用未设置为对象的实例 在xamarin.forms.platform.android.formsappcompatactivity.internalsetpage(xamarin.forms.pages.page页面([0x0006f] in:0 在xamarin.forms.platform.android.formsappcompatactivity.setmainpage(([0x0000c] in:0 在xamarin.forms.platform.android.formsappcompatactivity.loadapplication(xamarin.forms.application应用程序([0x0025c] in:0 在iveymatch.droid.mainactivity.oncreate(android.os.bundle Bundle([0x00033] in< 9E2A066AF7C24DE682828DC3A0F4E222222222222222222222222222231>:0 在android.support.v4.app.fragmentActivity.n_oncreate_landroid_os_bundle_(system.intptr jnienv,system.intptr jnienv,system.intptr system.inter.intptr native_savedinstancestate( AT(包装器动态方法(系统。对象:6B534AFF-3541-46F2-A92E-AC0022B9C4A7(INTPTR,INTPTR,INTPTR( 请致电MD5ED93386354F0E17F050B2885712023CA.MainActivity.N_ONCREATE(本机方法( 请致电MD5ED93386354F0E17F050B2885712023CA.MainActivity.OnCreate(MainActivity.Java:29( 在android.app.activity.performcreate(activity.java:6303( 在android.app.instrumentation.callactivityoncreate(instrumentation.java:1108( at android.app.activitythread.performlaunchactivity(activityThread.java:2402( at android.app.activitythread.handlelainchactivity(activityThread.java:2509( at Android.app.ActivityThread.Access $ 1000(activityThread.java:153( 在android.app.Apt.activityThread $ H.Handlemessage(activityThread.java:1373( at android.os.handler.dispatchmessage(Handler.java:102( at android.os.looper.loop(looper.java:154( at android.app.activitythread.main(activityThread.java:5523( 在java.lang.reflect.method.invoke(本机方法(上 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:739( 在com.android.internal.os.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);
    }
}

app.xaml.cs

     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组件"

相关内容

最新更新