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