【问题标题】:Android - google maps are not shown on deviceAndroid - 谷歌地图未显示在设备上
【发布时间】:2014-06-25 19:06:38
【问题描述】:

我已经使用 d.android 中的这个命令创建了自己的密钥库:

$ keytool -genkey -v -keystore my-release-key.keystore
-alias my_alias -keyalg RSA -keysize 2048 -validity 10000

接下来我使用以下方法找到了 SHA1:keytool -list -v -keystore my-release-keystore 就在 SHA1 之后:....

在我的应用程序中我有 com.mypackagename.MyClassName

在 Google Api Console 的 API Access 中,我粘贴了以下内容:

MY_SHA1;com.mypackagename

并且添加成功。

但是当我在设备上启动我的应用程序时,我仍然有灰色瓷砖而不是地图。 虽然在

<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
    <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="value_taken_from_Api_key_field_in_google_console">

在地图片段中我也粘贴了:

<fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:apiKey="value_taken_from_Api_key_field_in_google_console">
</fragment>

当我使用我的设备而不是模拟器直接从 IDE 运行我的应用程序时,它会显示灰色屏幕(显示缩放按钮和“Google”标签)。 此外,当我使用提到的带有 my_alias 的密钥库创建 .apk 时,此 .apk 还会显示灰屏而不是地图(还显示缩放按钮和“Google”标签)。

【问题讨论】:

标签: android google-maps


【解决方案1】:

我个人曾经遇到过这个问题,看来我的 keytool 没有那么好用。 我知道 eclipse 有一个功能可以显示你的 SHA1,这对我来说是不同的(并且有效)。它位于窗口>首选项>Android>构建。如果你使用eclipse,看看那个是否不同。 另外,您是否设置了正确的权限、元数据(还有 google play 服务版本)、glE 等,如the google maps getting started walkthrough 所示?我也不认为您的地图片段中需要android:apiKey,因为它已在清单中设置。

【讨论】:

  • 哦...我使用 Intellij Idea 13。你知道我在哪里可以找到这个吗?谷歌现在什么也没显示... 至于清单 - 是的,我添加了:“android.permission.INTERNET”“android.permission.ACCESS_NETWORK_STATE”“android.permission.WRITE_EXTERNAL_STORAGE”“com.google.android .providers.gsf.permission.READ_GSERVICES" "android.permission.ACCESS_COARSE_LOCATION" "android.permission.ACCESS_FINE_LOCATION">
  • 对不起,我不知道在哪里可以找到它。不过那里可能有这样的功能.. 在某处看不到首选项窗口?
  • 我解决了这个问题。那是因为我有 64 位笔记本电脑,而我使用的是 32 位 Win7。现在我有 64 位 Win7,它工作正常!
【解决方案2】:

我将使用调试密钥库创建一个新的调试 API 密钥。在 Windows 上,您可以在以下位置找到调试密钥库:C:\Users\YOUR_USER_NAME\.android\debug.keystore

使用该密钥库中的 SHA1 并生成新的 API 密钥。然后,当您从 IDE 将应用程序运行到您的设备上时,您应该能够看到地图。

【讨论】:

    【解决方案3】:

    我解决了这个问题。那是因为我有 64 位笔记本电脑,而我使用的是 32 位 Win7。现在我有 64 位 Win7,它工作正常!

    【讨论】:

      猜你喜欢
      • 2012-09-10
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多