首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VerifyError on GoogleAuthUtil类

VerifyError on GoogleAuthUtil类
EN

Stack Overflow用户
提问于 2014-12-24 13:56:43
回答 1查看 377关注 0票数 1

有时,我可以在崩溃报告服务日志中找到如下所示

代码语言:javascript
复制
Caused by: java.lang.VerifyError: com/google/android/gms/auth/GoogleAuthUtil
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(ProGuard:255)
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(ProGuard:279)
    at com.google.api.client.http.HttpRequest.execute(ProGuard:859)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(ProGuard:410)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(ProGuard:343)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(ProGuard:460)

从文件

当VM注意到试图加载未通过类验证阶段的类时抛出。

这种情况很少发生,而且大多发生在有根的设备上。这个类是在应用程序中打包的,所以奇怪的是,它不只是在某些设备上工作。

我认为这是因为有人试图修改应用程序(例如通过odex或dalvik缓存修补程序)。目前,我让这个应用程序崩溃了,因为它是LinkageError,在我看来不应该被处理。我是对的,还是有其他原因造成这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-23 12:08:18

由于VerifyError是在JVM加载类时抛出的,如果遇到不正确的字节代码,那么任何错误都很可能是由插装引起的。您在Android上的错误意味着您的字节码包含了对com/google/android/gms/auth/GoogleAuthUtil的引用,而Dalvik无法加载该引用。如果GoogleAuthUtil中使用的方法需要比设备上的API级别更高的API,也可能发生这种情况。

除此之外,很难从客户的设备中推断出更多的事实。正如您所建议的,可能有人试图修改应用程序的字节码,或者(如果是根设备,则可能更有可能) API,从而导致GoogleAuthUtil无法正常执行。

考虑到这一点,在大多数情况下,您无法推断出根本原因;( b)即使不采取太多措施,让应用程序崩溃也是很好的,海事组织。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27638043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档