由于 LogCollectManager.getUserType() 错误而无法启动 android 应用程序 [英] Unable to start android app due to LogCollectManager.getUserType() error

查看:28
本文介绍了由于 LogCollectManager.getUserType() 错误而无法启动 android 应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I try to run my application on Huawei P9 I’m getting the error

尝试调用虚方法'intcom.huawei.lcagent.client.LogCollectManager.getUserType()' 为空对象引用

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

有什么办法可以调试这个,因为应用程序适用于其他 Android 6 手机(三星、HTC...).

Is there any way to debug this because application works on other Android 6 phones (Samsung, HTC...).

应用程序:https://play.google.com/store/apps/详细信息?id=com.morescreens.mkt

日志:

07-04 10:42:56.045: W/System.err(955): java.lang.NullPointerException:尝试调用虚方法 'intcom.huawei.lcagent.client.LogCollectManager.getUserType()' 为空对象参考 07-04 10:42:56.046: W/System.err(955): atcom.android.server.util.ReportTools.getUserType(ReportTools.java:86)07-04 10:42:56.046:W/System.err(955):在com.android.server.util.ReportTools.isBetaUser(ReportTools.java:73)07-04 10:42:56.046:W/System.err(955):在com.android.server.util.ReportTools.report(ReportTools.java:58) 07-0410:42:56.046:W/System.err(955):在com.android.server.util.HwUserBehaviourRecord.appExitRecordInnerImpl(HwUserBehaviourRecord.java:125)07-04 10:42:56.046:W/System.err(955):在com.android.server.util.HwUserBehaviourRecord.access$200(HwUserBehaviourRecord.java:32)07-04 10:42:56.046:W/System.err(955):在com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread$1.handleMessage(HwUserBehaviourRecord.java:255)07-04 10:42:56.046:W/System.err(955):在android.os.Handler.dispatchMessage(Handler.java:102) 07-0410:42:56.046:W/System.err(955):在android.os.Looper.loop(Looper.java:150) 07-04 10:42:56.046:W/System.err(955): 在com.android.server.util.HwUserBehaviourRecord$AsyUploadLooperThread.run(HwUserBehaviourRecord.java:267)

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)

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

Does anyone experianced such issue? What is the best way to contact Huawei support for this error? I send them e-mail on consumer support site. Is there any developer support site or e-mail? Please provide links. Thanks in advance!

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

EDIT: I have figured out that this exception wasn't invoked by my app. However, my app was exiting nearly this exception which led me to think that app is crashing but in fact something was killing my app. It was my code in Application.onTrimMemory method which was "Called when the operating system has determined that it is a good time for a process to trim unneeded memory from its process". I still don't know why this method was called only on Huawei P8, P9 devices, never get any response from Huawei support.

推荐答案

异常是通用的,可能有很多原因,我发现深入了解它的最佳方法是启用更详细的登录手机的项目菜单.

The exception is generic, could have many causes and I found that the best way to go deeper and have a detailed view of it, it's enable more detailed log in Project Menu of the phone.

在P9上可以写代码:*#*#2846579#*#*
在电话号码组合中,打开项目菜单如图:项目菜单

On P9 can be done writing the code: * # * # 2846579 # * # *
in phone number composition, it open Project Menu such as in picture: Project Menu

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

then choose Background settings -> Log settings and check all the items; your logcat will be more detailed and easier to find the original error that give that exception. After using, uncheck in Log settings to avoid degrading your phone system performance.

就我而言,这是在我的应用程序的统一项目中插入的 iap 插件,太旧了,从未使用过但已初始化:这会导致我的应用程序崩溃并给出错误;删除它就可以了.

In my case, it was a iap plugin inserted in unity project in my app, too old, never used but initialized: this crash my app and give the error; deleting it and all it's ok.

这篇关于由于 LogCollectManager.getUserType() 错误而无法启动 android 应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆