Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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
运行时异常-Android中的ApplicationPackageManager.getPackageInfo_Android_Firebase_Google Analytics - Fatal编程技术网

运行时异常-Android中的ApplicationPackageManager.getPackageInfo

运行时异常-Android中的ApplicationPackageManager.getPackageInfo,android,firebase,google-analytics,Android,Firebase,Google Analytics,我正在使用android Google Analytics和Firebase跟踪错误 分析代码已从中使用 错误显示在下面的代码部分中 public void trackException(Exception e) { if (e != null) { Tracker t = getGoogleAnalyticsTracker(); t.send(new HitBuilders.ExceptionBuilder()

我正在使用android Google Analytics和Firebase跟踪错误

分析代码已从中使用

错误显示在下面的代码部分中

public void trackException(Exception e) {
        if (e != null) {
            Tracker t = getGoogleAnalyticsTracker();

            t.send(new HitBuilders.ExceptionBuilder()
                            .setDescription(
                                    new StandardExceptionParser(this, null)
                                            .getDescription(Thread.currentThread().getName(), e))
                            .setFatal(false)
                            .build()
            );
        }
    }
firebase中的错误详细信息如下所示
RuntimeException-ApplicationPackageManager.getPackageInfo

Exception java.lang.RuntimeException: Package manager has died
android.app.ApplicationPackageManager.getPackageInfo (ApplicationPackageManager.java:160)
com.google.android.gms.analytics.StandardExceptionParser.setIncludedPackages ()
com.google.android.gms.analytics.StandardExceptionParser.<init> ()
com.Quest.MyApplication.trackException (MyApplication.java:85)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.SongPlayer (PlayService.java:552)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlaySong (PlayService.java:527)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlayRecievedSong (PlayService.java:499)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlayNormalNext (PlayService.java:894)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlayNext (PlayService.java:839)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.onCompletion (PlayService.java:972)
android.media.MediaPlayer$EventHandler.handleMessage (MediaPlayer.java:3351)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:135)
android.app.ActivityThread.main (ActivityThread.java:5910)
java.lang.reflect.Method.invoke (Method.java)
java.lang.reflect.Method.invoke (Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1405)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200)
Exception java.lang.RuntimeException:包管理器已死亡
android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:160)
com.google.android.gms.analytics.StandardExceptionParser.setIncludedPackages()
com.google.android.gms.analytics.StandardExceptionParser。()
com.Quest.MyApplication.trackException(MyApplication.java:85)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.SongPlayer(PlayService.java:552)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlaySong(PlayService.java:527)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.playreceivedsong(PlayService.java:499)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.playmornext(PlayService.java:894)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.PlayNext(PlayService.java:839)
com.Quest.MediaPlayer.MusicPlayer.Mp3Player.Audioplayer.PlayService.onCompletion(PlayService.java:972)
MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:3351)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:135)
android.app.ActivityThread.main(ActivityThread.java:5910)
java.lang.reflect.Method.invoke(Method.java)
java.lang.reflect.Method.invoke(Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

您正在为您的上下文保留一个静态引用,这很糟糕,您的问题就是证明

你的应用程序已经死掉了,你正在尝试使用不再存在的上下文做一些事情

快速解决方案是将静态引用更改为WeakReference,如果仍然有引用,只需调用trackException。最好的解决方案是不依赖上下文,始终接收


如果需要找到应用程序死亡的原因,则需要在尝试记录错误之前找到日志。

请提供getGoogleAnalyticsTracker()的实现`MyApplication.getInstance().trackException(e);`就是这样