- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时我可以在崩溃报告服务日志中找到如下所示
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)
来自文档
Thrown when the VM notices that an attempt is made to load a class which does not pass the class verification phase.
这种情况很少发生,而且主要发生在已获得 root 权限的设备上。此类打包在应用程序中,所以奇怪的是它不仅仅适用于某些设备。
我认为这是因为有人试图修改应用程序(例如通过 odex 或 dalvik-cache 修补)。目前我让应用程序崩溃,因为它是 LinkageError
并且在我看来不应该被处理。我是对的,还是可能有其他原因导致此问题?
最佳答案
由于 VerifyError
在 JVM 类加载期间遇到错误的字节代码时会抛出,因此任何错误都可能是由检测引起的。您在 Android 上的错误意味着您的字节码包含对 Dalvik 无法加载的 com/google/android/gms/auth/GoogleAuthUtil
的引用。如果 GoogleAuthUtil
中使用的方法需要比设备上现有的 API 级别更高的 API 级别,也可能会发生这种情况。
除此之外,很难从客户的设备中推断出更多事实。正如您所建议的那样,可能是有人试图修改应用程序的字节码或(在 Root设备的情况下更有可能)导致 GoogleAuthUtil
未正确执行的 API。
考虑到 a) 在大多数情况下您无法推断出根本原因,并且 b) 即使不采取太多措施,让应用程序崩溃在我看来也完全没问题。
关于java - GoogleAuthUtil 类上的 VerifyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27638043/
我在我的 Android 应用程序中使用 Google Play 服务的授权和 GoogleAuthUtil。大约 2 个月前我做了这部分,从那以后它一直工作得很好。昨天,我更新了SDK。现在我在我的
我正在使用 google play 服务身份验证示例 here 如何重置 GoogleAuthUtil 以便它再次请求许可? 它通过抛出提供给对话框的 userRecoverableException
有时我可以在崩溃报告服务日志中找到如下所示 Caused by: java.lang.VerifyError: com/google/android/gms/auth/GoogleAuthUtil
在我的 Android 应用程序中,我试图获取 Google token 以连接到 Google 电子表格。这是执行此操作的代码: AsyncTask getTokenTask = new Async
我正在使用 Android Studio。 我需要使用 Google 帐户,但出现错误。 Cannot resolve symbol 'GoogleAuthUtil' 我已经导入了四个主要导入项。 i
GoogleAuthUtil.getToken 的第二个参数需要一个帐户对象,但是当您连接到 Google SignIn 时,您返回的结果是 GoogleSignInAccount - 这不是一回事。
尝试调用 GoogleAuthUtil.getToken(args) 时,我在具有最新 Google Play 服务的 ICS 设备上遇到此故障。通过在手机中删除和添加 Google 帐户解决了该问题
我正在使用 OAuth2 进行自动登录。但我不知道 getToken() 方法中的范围参数是什么,请帮助我。 最佳答案 OAuth2 authorization uses access token t
我有一个应用程序,我试图在其中获取谷歌身份验证 token 。它会在每次请求时超时,并且不会在 logcat 中提供任何有用的消息。我试图弄清楚我是否未能正确设置我的云控制台,或者我的代码是否有问题。
根据 https://gist.github.com/ianbarber/5170508您应该与 PlusClient 连接,然后才使用 GoogleAuthUtil 获取 token 。 但在我的应
我使用以下内容来获得可以从 Android 应用访问后端的身份验证。这在此处进行了描述 https://developers.google.com/identity/protocols/CrossCl
我使用了 GoogleApiClient 对象,继承了 ConnectionCallbacks 接口(interface)并调用了 GoogleAuthUtil.getToken(Context co
因此,我正在构建一个 Android 模块,它将作为 Gradle 依赖项(或 AAR 包)提供给 Android 应用程序。例如。就像 Mixpanel 一样,Google Analytics 提供
我目前正在构建一个 Android 应用程序,它从我的后端服务器请求数据。当然,我想知道在我的服务器上收到的请求是否真的来 self 的应用程序,或者是否有人只是从另一台服务器发送 HTTP 请求等。
我在 Android 上的 Google Play 服务 中使用 GoogleAuthUtil。调用 GoogleAuthUtil.getToken(context, userName, scope)
背景: 我需要在我的服务器后端进行身份验证,以便我知道客户端是真实的。在我的 Android 游戏中,我通过 GoogleApiClient 连接到 Games.API。 我只想登录一次,我想通过 G
我有一个调用 GoogleAuthUtl.getTokenWithNotification 的后台服务它可以正常工作,但我正在尝试实现此函数的回调部分,但无法正常工作。 我已经实现了一个广播接收器并将
我正在尝试使用 GoogleAuthUtil.getToken 生成可用于登录其他服务的 token 。当我尝试使用此方法时,我的应用程序“挂起”并停止响应。最终我的手机吐出了一些 IO 错误消息。我
我的目标是使用 Google plus sdk 登录到 BaaS,BaaS 需要通过 googleSignInAccount.getIdToken() 获取的 tokenId 和 accessToke
我正在实现谷歌标志,但我来到了这个方法,这个方法已被弃用,表明它总是返回空值 String token = GoogleAuthUtil.getToken(loginActivity, accoun
我是一名优秀的程序员,十分优秀!