【问题标题】:Android app is crashing due to V/GoogleSignatureVerifier: Signature not valid由于 V/GoogleSignatureVerifier,Android 应用程序崩溃:签名无效
【发布时间】:2016-03-24 19:36:27
【问题描述】:

我有一个 Android 应用程序,我在其中使用 Google Maps API for Android v2。在我将手机升级到 Marshmallow 之前,它在我的手机上运行良好。在我卸载它并再次使用 Android Studio 安装它后更新我的手机后,它开始出现随机崩溃。并且每次错误都是

V/GoogleSignatureVerifier:签名无效。成立: MIIDDTCCAfWgAwIBAgIEPmxzXDANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJVUzEQMA4GA1UE ChMHQW5kcm9pZDEWMBQGA1UEAxMNQW5kcm9pZCBEZWJ1ZzAeFw0xNTA5MjExMjE1MDNaFw00NTA5 MTMxMjE1MDNaMDcxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdBbmRyb2lkMRYwFAYDVQQDEw1BbmRy b2lkIERlYnVnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTlzAY3DX0+vQmRo5stW izwv76mghc1mbdxQnI16N6Ci/​​LFPOsiQLfYgt/qqitKCmo2kWWzfKNxN1Qyg5KaFdXRxpM8Ec7Xm fkMX5cXzJOBDS62uWoDXpjiaXNOBeCvHDwC02EfOGfBd8csnO7sm3htHP8l2Jbn4uAY/zRQ+F4+C Y477hSMxUvcDYoOoAcsye7pEu1bvPLSRxM44kjjhBFJlLYw6QtzE00khMrwdgBQwSdY0vtUPj9NM hKGRuGoK/suIpd9e82EhqbUSlYsd62I/HV3390Eo/N2xXCsK7jrRdz6G9MjHfnUQLN80frZXGApl LWiBti2soI9HhI++dQIDAQABoyEwHzAdBgNVHQ4EFgQU3JFv8ivvt36O8WrsmkXRWYCDbEEwDQYJ KoZIhvcNAQELBQADggEBAFLFGhfV6F4VOMCdKky6drHD10LzvR8/6QJzf/yp1QARzb3aR319g1my f6Ffsaam9SKKj6OO92Jz7RTgUvZ6aD5sgRJXKcetmrGNWLGvsg0Rn+OxyEJ6dp4z49Oj5xyXjREp 6zv3QXxENib6EmPYKkFRS6cIe3QOMPsa6Q0KBKQFNnRAW+A+VBAVfEQYB1lgUMXUD+L9pc9EGNcN zbatMn4FuWeyrhVaiSgMqyNHghUISgAZF76ImkQoPHVwgu7DzQQ44bXAwAbLFIwVhate/C0zN5ps TjBZ4ojF0Z9mFM9tbLzBYCL2BpNCtYbp9uMpp4YtnX0+2sdxU6vi+ffSeAk=

看起来更新后的 Google Play 服务可能会导致问题。帮助将不胜感激。

【问题讨论】:

  • 我有同样的问题,我的应用程序运行没有问题,但是当我处于调试模式时,我在 logcat 中看到很多这样的消息,但不是在所有设备中。相同的 app-debug.apk 文件在 Android 4.4 (Huawei G6) 和 5.1 (Moto G) 中显示此日志,但在 4.04 (Samsung Galaxy Tab) 和 4.1.1 (Huawei G510) 中没有消息。
  • 我仍在 logcat 中看到该消息,但我的应用程序运行良好,没有任何问题。
  • 我们太依赖谷歌了...

标签: android google-play-services google-maps-android-api-2


【解决方案1】:

此 logcat 警告是由 Google Play Services 9.x 中引入的错误引起的。可以放心地忽略它,我不相信它会导致崩溃,因此您的崩溃可能是由不同的问题引起的。该消息应该会随着播放服务的未来更新而消失。

Google 的一位工程师已在answer to this post.answer to this post. 中确认了此问题

【讨论】:

  • 是的,你是对的,我的应用程序崩溃问题已经修复,只有警告即将到来,现在它也已修复。
【解决方案2】:

我最近遇到了同样的问题。造成这种情况的原因是手机自动将 Google Play 服务更新到 9.0.83 版。

我找到的唯一解决方案是卸载更新并允许 Google Play 服务重新更新。

要删除更新: 设置 > 应用程序 > Google Play 服务 > 点击三个点并卸载更新。然后通过 Play 商店重新安装更新。

启动应用程序,它会要求您升级 Google Play 服务。

执行这些步骤后,版本最初是 9.0.83,降级到 8.7.03。

我不认为这是一个解决方案,因为我有几个人在测试我的应用程序,其中一些人遇到了同样的问题(版本 9.0.83 上的问题)。我不太确定 9.0.83 发生了什么变化

【讨论】:

  • 它似乎确实与 Google Play Services 9.0.83 有关,问题是再次更新时它会将我带回 9.0.83。在 Android 开发中添加相关的 Google+ 线程,其中包含指向可能在错误项目中的问题的链接,但似乎没有明显的地方可以报告 Google Play 服务问题?干得好,谷歌! plus.google.com/+ChristopheBeyls/posts/LC2XCSoaVBJ
  • 没有修复抛出的错误。虽然我确实发现其中一个库导致我的应用程序在更新后崩溃而没有抛出任何错误。只需要更新到最新版本的库,不再崩溃。
  • 我无法卸载更新。都是灰色的。
【解决方案3】:

我也遇到了同样的异常,我修复了它。

注意:我正在研究谷歌分析并且遇到了这个异常。但是我的应用程序没有崩溃,我在日志中得到了这个。你也可以试试这个解决方案。

将此添加到项目级别的 gradle 文件中。 classpath 'com.google.gms:google-services:2.1.0'

这个是模块级的 gradle 文件。

compile 'com.google.android.gms:play-services:8.4.0'

并在模块级 gradle 文件的文件末尾(最后一行)移动 `below plugin。

apply plugin: 'com.google.gms.google-services'

`

【讨论】:

  • 我做到了,得到了错误 Error:org.gradle.api.GradleException: File google-services.json is missing。没有它,Google 服务插件将无法运行。
  • 因为我在做谷歌分析,它需要 google-services.json 文件。但您不需要添加谷歌服务。你可以添加谷歌地图依赖。
  • @vishalgaurav 您需要从 Google 开发者控制台获取/重新生成配置文件(下方评论中的链接)。
  • @HammadTariqSahi 你说得对,不需要整个播放服务依赖项。但无论如何都需要 json 配置文件。
【解决方案4】:

更改系统和项目配置后,我遇到了同样的问题。
请尝试以下步骤:

  1. 检查是否为 gradle 启用了离线工作:Goto File > Settings > Gradle。如果选中,请取消选择离线工作。
  2. 然后确认您是否在项目级 build.gradle 中作为依赖项提到了最新版本的 google 服务: 类路径 'com.google.gms:google-services:2.1.0'。

    您可以在此处找到最新版本:https://jcenter.bintray.com/com/android/tools/build/gradle/

  3. 在 gradle 同步完成后清理并构建项目。

这些步骤为我解决了这个问题。
如果您更改了用于构建此应用的系统,请确保在 Google Developer Console 上更新您项目中的 SHA1 并更新您的 Android 中的 Maps API 密钥项目。

【讨论】:

  • 我也面临同样的问题,但您的解决方案对我不起作用。
  • build.gradle 行应该是 'com.android.tools.build:gradle:2.1.0' 而不是 'com.google.gms:google-services:2.1.0'
  • @The_Martian 我想在我的项目类路径中包含构建工具以及谷歌服务依赖项。这是我当前的项目级别 build.gradle:pastebin.com/JcYV6sZZ。希望这能消除您的错误理解或困惑
【解决方案5】:

为我解决的问题是删除 .android 文件夹中的 debug.keystore 文件。

读到 debug.keystore 文件一年后过期,系统需要你删除它才能创建一个新文件。

https://developer.android.com/tools/publishing/app-signing.html#expdebug

【讨论】:

  • 我也面临同样的问题,但您的解决方案对我不起作用。
  • keytool -list -v -keystore "%HOMEPATH%\.android\debug.keystore" -storepass android 应该会告诉您何时过期 (Valid from: ... until: ...)
  • 我也面临同样的问题。我已经尝试过您的解决方案,但它对我不起作用。
  • 请不要这样做。这导致服务器上的身份验证失败。这与 Android Studio 中的最近更新有关。
  • 我正在尝试使用 firebase。这个解决方案对我有用。我还必须使用新调试密钥库中的 SHA1 更新服务器。
猜你喜欢
  • 1970-01-01
  • 2021-04-20
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多