为什么我在Google Maps Android API上签名无效?

时间:2016-05-18 09:50:36

标签: android google-maps

我的应用程序在使用5.1的设备上进行位置更新时工作正常。

从那时起,我做了两件事: 生成签名的apk。 尝试将其部署到6.0设备。

我不知道发生了什么,但现在google api甚至无法在原始设备上使用。

这是错误日志的一部分我认为问题出在哪里:

 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
05-18 11:44:43.691 2786-2865/born.speedsteer03 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/born.speedsteer03-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
05-18 11:44:43.696 2786-2865/born.speedsteer03 I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1

2 个答案:

答案 0 :(得分:2)

如果我没错,你可能已经在Google api控制台配置了一些哈希键(Shah 1)来使用Google API。

它通过调试密钥库(它的证书)在您的模拟器或设备上工作,因为您配置的密钥是debug keystore one。

现在您已生成已签名的apk并已安装,您需要在Google API控制台上添加已签名的密钥库Sha1密钥。

故事是调试密钥库sha1,您可以将其用于开发目的。如果生成烧录的apk文件,则需要单独使用它。

答案 1 :(得分:-2)

抱歉,这是一个错误!这只是虚假的记录:Google Play服务会检查您是Google应用还是普通第三方应用。

作为其中的一部分,它调用签名验证程序,并且日志记录最终比预期更详细 - 它将在未来版本中修复。这不应该影响应用程序的行为。

来自Ian Barber回答@ here