在我从Windows切换到linux之后,谷歌地图已停止在Android上工作

时间:2014-08-06 07:42:53

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

我正在开发一款需要Android上谷歌地图的应用。早些时候我在Windows上开发,一切都运行得很好。几天前,我切换到ubuntu,地图突然停止工作。我已将sha1键添加到控制台 -

API key:    
AIzaSyDD3ntjHTCKntDoVJt7J_eMZs-t7lYIlZ8
Android apps:   
98:26:30:05:AF:D7:74:3F:5F:C1:BF:D6:24:80:5E:9B:DC:F4:F4:D6;com.opaxlabs.boatbrat EB:53:F8:2A:B3:05:63:5E:3F:CF:17:47:63:A8:8B:FA:C8:67:30:D4;com.opaxlabs.boatbrat
Activated on:   Jun 25, 2014 5:07 AM 

所以我有两个sha1指纹。我切换回窗户检查,应用程序在那里工作得很好。 log cat中的错误表明 -

Google Maps Android API(10773): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

在设备上运行时,构建显示一个空白屏幕,其中应该有一个地图。 api密钥在清单中提到为 -

<meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDD3ntjHTCKntDoVJt7J_eMZs-t7lYIlZ8" />

同样在模拟器中,它要求我更新api,向我显示一个按钮,用于更新单击时崩溃的应用程序。请帮我提一下你的建议。提前谢谢。

编辑: 问题似乎在于(虽然我不确定)我在谷歌控制台上创建了一个演示项目并将sha1放入其中。后来我创建了一个项目并将sha1放入其中。它似乎是从演示项目中获取密钥而不是正确的项目。我删除了演示项目的内容,但无济于事。有没有办法纠正这个问题?

3 个答案:

答案 0 :(得分:1)

  1. 打开终端
  2. 导航到/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin(java的bin)
  3. 写在终端上: - keytool -list -v -keystore~ / .android / debug.keystore -alias androiddebugkey -storepass android 4.复制SHA1键并粘贴代替Windows的前一个SHA1
  4. 不要改变任何其他事情。
  5. 它的工作......

答案 1 :(得分:0)

  1. 在您的电脑上重新生成沙,
  2. 转到Google控制台,
  3. 创建新的Android密钥(适用于谷歌地图),(删除旧版) 对于Linux: keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

  4. 使用项目名称复制sha,例如:(Sha; projectname) 的 98:26:30:05:AF:D7:74:3F:5F:C1:BF:D6:24:80:5E:9B:DC:F4:F4:D6; com.example.androidapp

  5. 将API密钥复制到应用。
  6. 在谷歌游戏机中,你的 Android应用有两倍的sha和项目名称。

答案 2 :(得分:0)

似乎是api密钥的问题。

在你的ubuntu上生成调试证书的sha1,并将其作为另一个密钥添加到api控制台,除了来自windows的证书sha1之外。

那应该可以解决问题。