2017-08-07 160 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控制檯..

希望它能幫助。 。