调试Google Map V2无法连接Google Service

时间:2013-06-17 08:17:32

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

我正在测试com.example.mapdemo,我已将我的Android Google Map Key API放入清单文件中,然后我在我的API项目(Google API Console)中注册了Eclipse中使用keytool生成的SHA1密钥,似乎一切都必须运行良好,但在运行时logcat说应用程序无法连接到Google服务,因此,地图不会加载,只有+和 - 缩放按钮。考虑到这一点,我有两个问题:

  1. 生成证书时,我必须使用与我的Google帐户相同的作者姓名吗?
  2. 如果我正在调试项目(不发布),它是使用默认调试密钥库和SHA1构建的,我是对的吗?因此,谷歌无法识别它,应用程序永远不会连接到谷歌服务。
  3. 我是对的还是这个问题与我的想法无关?有人可以给我任何想法来解决这个问题吗?谢谢。 :(

1 个答案:

答案 0 :(得分:0)

请参阅本页“显示证书信息”部分: https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key

具体来说,请参阅“显示调试证书指纹”部分。

当您使用Eclipse启动Android应用程序时(即,只需单击绿色的“播放按钮”),它将使用默认的调试密钥库进行签名。因此,您也可以通过Google API控制台将调试密钥库的SHA-1指纹列入白名单,这样您就可以查看地图而无需导出应用并使用发布密钥进行签名。您可以在Google API控制台中添加多个SHA-1指纹,然后添加应用包名称,只需将每个指纹放在自己的行中即可。

以上是有关如何查找调试密钥指纹的上述文档的简要摘录:

  
      
  • 找到您的调试密钥库文件。文件名是debug.keystore,并在第一次构建项目时创建。默认情况下,它存储在与Android虚拟设备(AVD)文件相同的目录中:

         
        
    • OS X和Linux:〜/ .android /

    •   
    • Windows Vista和Windows 7:C:\ Users \ your_user_name.android \

    •   
  •   
     

如果您将Eclipse与ADT一起使用,并且您不确定调试密钥库的位置,则可以选择Windows> Prefs> Android>构建以检查完整路径,然后可以将其粘贴到文件资源管理器中以找到包含密钥库的目录。

     
      
  • 列出SHA-1指纹。   
        
    • 对于Linux或OS X,打开终端窗口并输入以下内容:   keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    •   
    • 对于Windows Vista和Windows 7,请运行:   keytool -list -v -keystore "C:\Users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
    •   
  •   
     

您应该看到与此类似的输出:

`Alias name: androiddebugkey`
     

...         SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75

     

以SHA1开头的行包含证书的SHA-1指纹。指纹是由冒号分隔的20个两位十六进制数字的序列。

然后就像发布证书SHA-1一样将其列入白名单。