Google Map Api v2在日志中显示“V / GoogleSignatureVerifier:签名无效”错误消息

我正在开发一个使用google map api v2的Android应用程序来显示一个片段地图。 当我运行这个应用程序时,我总是在我的日志中看到这个错误信息popup窗口。

我试过的东西:

  • 擦除debug.keystore并重build应用程序。
  • 降级Google Play服务并重新升级。
  • 取消select离线工作

到目前为止没有什么技巧…

在“日志”选项卡中,有一段时间:

  2364-3928/com.example.android.app E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.android.gms.googlecertificates.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.example.android.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.android.app-2/lib/arm, /data/app/com.example.android.app-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]] 2364-3928/com.example.android.app I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1 2364-3928/com.example.android.app I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 1 2364-3928/com.example.android.app W/System: ClassLoader referenced unknown path: /data/user/0/com.google.android.gms/app_chimera/m/00000000/n/armeabi 2364-3928/com.example.android.app D/ChimeraFileApk: Primary ABI of requesting process is armeabi-v7a 2364-3928/com.example.android.app D/ChimeraFileApk: Classloading successful. Optimized code found. 2364-3928/com.example.android.app D/GoogleCertificates: com.google.android.gms.googlecertificates module is loaded 2364-3928/com.example.android.app D/GoogleCertificatesImpl: Fetched 154 Google release certificates 1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid. Found: MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0 WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG 9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7 FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg== 1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid. Found: MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0 WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG 9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7 FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg== 1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid. Found: MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0 WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG 9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7 FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg== 1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid. Found: MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0 WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG 9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7 FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW 

UPDATE

我仍然有错误信息,有没有人从那以后解决?

 /com.example.android.greenLeaf V/GoogleSignatureVerifier: com.google.android.gms signature not valid. Found: MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMw EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29n bGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEz MzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5k cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtW LgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKke dxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjA sb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/Cx URaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJE qO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/T gt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIG A1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC 4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/y zKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCE yj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1S KMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifK Z0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3Wf MBEmh/9iFBDAaTCK 

显然,这是一个已知的问题,谷歌开发人员在最近的一篇文章中指出:

对不起,这是一个错误! 这只是虚假的日志logging:Google Play服务会进行一些检查,看看您是Google应用还是普通第三方应用。

作为其中的一部分,它会调用签名validation程序,并且日志logging会比预期更加冗长 – 它将在未来版本中得到修复。这不会影响您的应用程序的行为。

所以它应该被忽略,直到将来更新…

当你对apk进行签名的时候, 你必须把那个keystore的SHA-1放在Google Api控制台里,在那里你启用了GoogleAPI V_2。然后再次生成API密钥 ,并把这个API密钥放到你的清单文件中

通过在互联网上查找遇到同样问题的其他人,将Google Play服务更新到9.0.83。 我在这里find了一个关于如何解决这个问题的讨论。 你可以尝试检查它,如果它可以帮助你。

一些解决scheme是通过检查是否启用了对Gradle的离线工作,如果选中了Offline Work,则取消选中Offline Work。 然后,确认是否在项目级别build.gradle提供了作为依赖项提到的最新版本的Google服务: classpath com.google.gms:google-services:2.1.0 。 在gradle同步完成后清理并构build项目。

尝试在Google Developer Console中更新项目中的SHA1密钥,然后更新您的Android项目中的Maps API密钥。

此外,有些人通过删除android文件夹中的debug.keystore文件来修复它。

根据Ian Barber对此回答的评论,Google Play服务版本10.0.1将解决此问题。

更新到最新版本(我上次看10.0.1),应该消失。

希望这会帮助你。

快乐coading!

将其添加到项目级别的gradle文件中:

classpath 'com.google.gms:google-services:2.1.0'

而这个用于模块级的gradle文件:

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

并在模块级gradle文件的文件(最后一行)末尾插入下面的插件:

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

我已经通过删除.android文件夹中find的debug.keystore文件来修复它。 它会自动生成并使用该文件创build新的SHA1。

Gnah。 这是几个小时的窃听我! 只需卸载Google Playservice 9.0.83的更新即可。 版本8.7.02在这里工作。 请记住这一点: https : //plus.google.com/+ChristopheBeyls/posts/LC2XCSoaVBJ

您应该将Map api v2更改为v3: – Google Maps JavaScript API版本2的地图API V3版本不再可用。 本指南旨在帮助那些已经在使用Google Maps JavaScript API v2的开发人员将他们的代码迁移到版本3。