2017-08-07 129 views
5

1)创建新项目。Android谷歌地图空白

2)选定的谷歌地图创建。

3)随后调试google_maps_api.xml步骤。

4)推出google_maps_api.xml步骤紧随其后。

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

  • 密钥工具-list -keystore your_keystore_name

  • 密钥工具-list -v -keystore your_keystore_name -alias your_alias_name

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

  • 创建谷歌显影剂控制台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)在Play商店发布的Beta版本。

8)Google地图屏幕空白。

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

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

+0

嗯,唯一值得一提的是你可能会缺少'''google-services.json'''这对你来说意味着什么?啊,对不起,我没有看到你提到的发布 - 你的keystore是不同的发布?您需要该构建类型/密钥库的SHA1/APIkey –

+0

例如,调试通常使用位于''〜/ .. android/debug.keystore'''中的AndroidDebugKey,但您可能有一个专门为释放设置的密钥库,它不使用调试密钥,因此获取该密钥库的SHA1,或者运行Gradle Tasks> android> signingReport来查看! –

+0

你应该在Logcat中看到一些东西。你也可以分享Logcat吗? – xomena

回答

3

我假设这可能是由于SHA 1指纹不匹配造成的。仔细检查您是否使用相同的密钥库获取SHA1和apk版本。

或 让我们来检查您的API密钥是否有效。 对于添加以下MAP_API为你释放钥匙在你的AndroidManifest.xml

AIzaSyDztCvpv3PVBxzWwY7mWqCMnGfDeOiGxwY 

添加以下权限(可选/没有必要)

<permission 
    android:name="your_pakage_name.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

构建您的版本APK。并测试它。

如果地图显示,我们可以修复您的API密钥是问题。

因此,让您再次获得Sha1并在您的Google开发者控制台中进行更新。

1

您正在以cmd生成SHA-1。有时cmd会返回本地SHA-1而不是Administrator。所以尝试从Android Studio创建SHA-1。 按照步骤来生成SHA-1:

  1. 点击Gradle(工作室的右侧面板,Preview选项所示)
  2. 点击Project name
  3. 点击Task
  4. 点击android
  5. 然后点击signingReport

生成的SHA-1将复制此SHA-1并粘贴到Google控制台中。

+0

@ a.g.thamays请接受答案,如果它的工作。 –

+0

调试SHA-1的这些步骤,我也检查了这些步骤。 –

+0

那么,你的问题解决了? –

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和注册它在你的谷歌API控制台..

希望它能帮助。 。