应用停止在启动器页面中,并且不会显示错误消息xamarin.foms

时间:2017-09-20 18:03:14

标签: android xamarin xamarin.forms

当我启动我的应用程序时,它会打开启动器屏幕并关闭它显示我"不幸的是[appname]已经停止",它没有显示日志上的任何消息,它只发生在我的设备(Android)。 一旦它显示一条消息"目标机器就会主动拒绝它",就像这样...... 它发生在我开始实现推送通知后......我正在使用xam.plugin.pushnotification,firebase api以及 我卸载了plugin.pushnotification,但错误仍然在这里 有人见过吗?

--------------------编辑--------------------

正在搜索,我在设备日志中看到了这个错误:

enter image description here

Time    Device Name Type    PID Tag Message
09-21 11:51:15.831  Samsung SM-G800H    Error   8096    AndroidRuntime  
java.lang.RuntimeException: Unable to instantiate application 
md583ab84639d21035a23b6a55e87c99374.MainApplication: 
java.lang.ClassNotFoundException: Didn't find class 
"md583ab84639d21035a23b6a55e87c99374.MainApplication" on path: DexPathList[[zip 
file "/mnt/asec/com.xamarin.docs.android.neoFly_Montana-
1/pkg.apk"],nativeLibraryDirectories=
[/mnt/asec/com.xamarin.docs.android.neoFly_Montana-1/lib, /vendor/lib, 
/system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4763)
at android.app.ActivityThread.access$1600(ActivityThread.java:172)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5694)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)

我认为相关的其他错误:

Time    Device Name Type    PID Tag Message
09-21 11:51:15.831  Samsung SM-G800H    Error   8096    AndroidRuntime  Caused 
by: java.lang.ClassNotFoundException: Didn't find class 
"md583ab84639d21035a23b6a55e87c99374.MainApplication" on path: DexPathList[[zip 
 file "/mnt/asec/com.xamarin.docs.android.neoFly_Montana-
 1/pkg.apk"],nativeLibraryDirectories=
 [/mnt/asec/com.xamarin.docs.android.neoFly_Montana-1/lib, /vendor/lib, 
 /system/lib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
 at android.app.Instrumentation.newApplication(Instrumentation.java:981)
 at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
 ... 11 more

(它们不是代码,但stackoverflow只允许我将其作为代码发布.lol) 还有其他的东西,但是现在,它们似乎是最重要的调查......

---------------------- edit ---------------------

MainAplication.cs:

using System;

using Android.App;
using Android.OS;
using Android.Runtime;
using Plugin.CurrentActivity;

namespace neoFly_Montana.Droid
{
//You can specify additional application information in this attribute
[Application]
public class MainApplication : Application, 
 Application.IActivityLifecycleCallbacks
{
    public MainApplication(IntPtr handle, JniHandleOwnership transer)
      :base(handle, transer)
    {
    }

    public override void OnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);
        //A great place to initialize Xamarin.Insights and Dependency Services!
    }

    public override void OnTerminate()
    {
        base.OnTerminate();
        UnregisterActivityLifecycleCallbacks(this);
    }

    public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityDestroyed(Activity activity)
    {
    }

    public void OnActivityPaused(Activity activity)
    {
    }

    public void OnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
    {
    }

    public void OnActivityStarted(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityStopped(Activity activity)
    {
    }
}
}

我的清单:

    <?xml version="1.0" encoding="utf-8"?>
   <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.xamarin.docs.android.neoFly_Montana" 
   android:installLocation="auto">
  <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="22" />
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission 
  android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission 
  android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
 <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
 <application android:label="neoFly_Montana.Android">
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="mapskey" />

<!--push notification-->
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
android:exported="false" />
<receiver
    android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
    android:exported="true"
    android:permission="com.google.android.c2dm.permission.SEND">
  <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    <category android:name="${applicationId}" />
  </intent-filter>
</receiver>

</application>

obj中有一个文件夹(不包括在我的proj中),其名称在错误 md583ab84639d21035a23b6a55e87c99374 中提及,里面是mainapplication类...

enter image description here

--------------------------编辑-------------------- -

仅在Android 4.4版本中发生

0 个答案:

没有答案