安卓谷歌地图空白

6

1) 创建新项目。

2) 选择创建的Google地图。

3) 调试google_maps_api.xml步骤如下:

4) 发布google_maps_api.xml步骤如下:

  • developers.google.com/maps/documentation/android/signup 步骤。

  • keytool -list -keystore your_keystore_name

  • keytool -list -v -keystore your_keystore_name -alias your_alias_name

  • SHA1: :0D::74:D3::E1:43::71::62:90::A1:66:6E:__:5D:75 添加

  • 创建Google开发者控制台API密钥。

  • <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false"> AIzaSyB3d_usre_Joj_TrgP3aKtdkrSt_tTeqGI </string>

    添加不同的发布密钥。

5) AndroidManifest.xml

  • <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" />

  • <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

6) 生成签名APK,创建发布版本。

7) Beta版已发布到Play商店。

8) 谷歌地图屏幕空白。

9) 但是本地运行的应用谷歌地图正常工作。

10) 所有包名都已正确添加到谷歌开发者控制台中。


例如,调试通常使用位于~/..android/debug.keystore的AndroidDebugKey,但您可能已经为发布专门设置了密钥库,不使用调试密钥,因此请获取该密钥库的SHA1,或者只需运行Gradle Tasks> android> signingReport即可查看! - Saik Caskey
这是一个Play Store应用程序,但没有显示有关Google地图的Logcat。 - A.G.THAMAYS
#Lalit Singh Fauzdar 我按照这些步骤操作了,但是没有起作用。 - A.G.THAMAYS
好的。版主已删除了我的答案,而且由于此问题有赏金,我无法将其标记为重复。因此,我只是发布一个链接,您可以在其中查看答案:https://dev59.com/AVcP5IYBdhLWcg3wP36t#44672565 - xomena
你好 @a.g.thamays。请查看这个答案:https://dev59.com/AVcP5IYBdhLWcg3wP36t#45643471 - ymerdrengene
显示剩余4条评论
4个回答

5

我猜这可能是由于SHA 1指纹不匹配造成的。请仔细检查您在获取SHA1和apk发布时是否使用相同的密钥库。

或者,让我们检查一下您的API密钥是否有效。为此,请将以下MAP_API添加为您的发布密钥。

AIzaSyDztCvpv3PVBxzWwY7mWqCMnGfDeOiGxwY

请在AndroidManifest.xml中添加以下权限(可选/非必需):
 <permission
    android:name="your_pakage_name.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

生成您的发布APK并进行测试。

如果地图显示,则说明API密钥存在问题,我们需要解决此问题。

因此,请再次获取Sha1并在Google开发者控制台中进行更新。


1
您正在cmd中生成SHA-1。有时cmd返回本地SHA-1而不是管理员。因此,请尝试从Android Studio创建SHA-1。 按照以下步骤生成SHA-1:
  1. 点击Gradle(位于显示Preview选项的工作室的右侧面板上)
  2. 点击Project name
  3. 点击Task
  4. 点击android
  5. 然后点击signingReport

您的SHA-1已生成,请复制此SHA-1并粘贴到Google控制台中。


这些步骤用于调试SHA-1,我也检查过这些步骤。 - A.G.THAMAYS
我认为你只是在为调试应用程序创建密钥。请尝试为发布在Google控制台上创建密钥。 - Mahesh Gawhane

1
我认为你在发布版本中仍在使用SHA1来调试debug.keystore.. 请尝试获取你的发布keystore中的SHA1。

Windows终端

keytool -list -v -keystore "{PATH OF YOUR RELEASE KEYSTORE}" -alias {ALIAS} -storepass {StorePassword} -keypass {KeyPassword}

OSX 终端

keytool -list -v -keystore {PATH OF YOUR RELEASE KEYSTORE} -alias {ALIAS -{STORE PASS} android -keypass {KEYPASS}

获取您的SHA1并在Google API控制台上注册。

希望能帮到您。.


0
问题出在我的包名上...我把MapActivity创建在一个文件夹里,所以Android Studio自动将我的包名设置为com.example.myappname.myfoldename而不是只有com.example.myappname,导致google_api.xml和Google控制台中的结果都出现了问题。
我强烈建议您尝试这个解决方案...生成一个新的API密钥并检查您的包名。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接