android - 由于 LogCollectManager.getUserType() 错误,无法启动 Android 应用程序

标签 android nullpointerexception huawei-mobile-services

当我尝试在华为 P9 上运行我的应用程序时出现错误

Attempt to invoke virtual method 'int com.huawei.lcagent.client.LogCollectManager.getUserType()' on a null object reference

有什么方法可以调试这个,因为应用程序可以在其他 Android 6 手机(三星、HTC...)上运行。

应用程序: https://play.google.com/store/apps/details?id=com.morescreens.mkt

日志:

07-04 10:42:56.045: W/System.err(955): java.lang.NullPointerException: Attempt to invoke virtual method 'int com.huawei.lcagent.client.LogCollectManager.getUserType()' on a null object reference 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.ReportTools.getUserType(ReportTools.java:86) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.ReportTools.isBetaUser(ReportTools.java:73) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.ReportTools.report(ReportTools.java:58) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.HwUserBehaviourRecord.appExitRecordInnerImpl(HwUserBehaviourRecord.java:125) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.HwUserBehaviourRecord.access$200(HwUserBehaviourRecord.java:32) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread$1.handleMessage(HwUserBehaviourRecord.java:255) 07-04 10:42:56.046: W/System.err(955): at android.os.Handler.dispatchMessage(Handler.java:102) 07-04 10:42:56.046: W/System.err(955): at android.os.Looper.loop(Looper.java:150) 07-04 10:42:56.046: W/System.err(955): at com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread.run(HwUserBehaviourRecord.java:267)

有没有人遇到过这样的问题? 就此错误联系华为支持的最佳方式是什么?我在消费者支持网站上给他们发电子邮件。是否有任何开发人员支持网站或电子邮件?请提供链接。 提前致谢!

编辑:我发现我的应用并未调用此异常。但是,我的应用程序几乎退出了这个异常,这让我认为该应用程序正在崩溃,但实际上某些东西正在杀死我的应用程序。这是我在 Application.onTrimMemory 中的代码方法是“当操作系统确定现在是进程从其进程中删除不需要的内存的好时机时调用”。我仍然不知道为什么这个方法只在华为P8、P9设备上调用,从未得到华为支持的任何回应。

最佳答案

异常是普遍的,可能有很多原因,我发现最好的方法是深入了解并详细查看它,它可以在手机的项目菜单中启用更详细的日志。

在P9上可以写代码:*#*#2846579#*#*
在电话号码组合中,打开Project Menu如图: Project Menu

然后选择Background settings -> Log settings并检查所有项目;您的 logcat 将更详细,更容易找到给出该异常的原始错误。 使用后,取消勾选日志设置,以免降低手机系统性能。

在我的例子中,它是一个插入到我的应用程序中的统一项目中的 iap 插件,太旧了,从未使用过但已初始化:这使我的应用程序崩溃并给出错误;删除它,一切正常。

关于android - 由于 LogCollectManager.getUserType() 错误,无法启动 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39588023/

相关文章:

jaxb - 帮助对 JAXB 解码 NPE 进行故障排除

java - 什么是NullPointerException,我该如何解决?

java - HMS Map Kit - 如何将相机缩放设置为当前位置?

android - 更改AutoCompleteTextView下划线的颜色

Android webview捏缩放问题

android - 更新 Realm 中的特定值

java - 被诅咒的 java.lang.NullPointerException

android - 不要在屏幕旋转时调用方法

android - 以编程方式检查 android 设备是否有 Google Play?

android - 如何在没有游戏商店的情况下将通知发送到手机(例如华为)