2014-02-23 32 views
1

我一直在使用Google地圖SDK開發我的第一個Android應用程序。Android SDK Google地圖不會在「製作模式」中顯示地圖

當我工作得很好時使用我的Samsung Galaxy S4在Android Studio上運行應用程序。我可以看到地圖,一切都很好

今天,我發佈,我測試它在我的朋友三星Galaxy S4。它沒有沒有顯示任何地圖。什麼樣的惡夢。我必須做什麼?我需要提供什麼信息纔能有人幫助我?

編輯:

我與Android工作室簽署我的apk。它創建一些.jks文件。

這裏是我的清單:

<?xml version="1.0" encoding="utf-8"?> 

<permission 
    android:name="de.christianbergau.gojogging.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="de.christianbergau.gojogging.permission.MAPS_RECEIVE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<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" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

<application 
    android:debuggable="false" 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="MYAPIKEYHERE" /> 

    <activity 
     android:name="de.christianbergau.gojogging.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="de.christianbergau.gojogging.SessionsActivity" 
     android:label="@string/title_activity_sessions" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="de.christianbergau.gojogging.MainActivity" /> 
    </activity> 
    <activity 
     android:name="de.christianbergau.gojogging.MapActivity" 
     android:label="@string/title_activity_map" > 
    </activity> 
    <activity 
     android:name="de.christianbergau.gojogging.SettingsActivity" 
     android:label="@string/title_activity_settings" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="de.christianbergau.gojogging.MainActivity" /> 
    </activity> 
</application> 

+0

檢查你的朋友的電話更新GooglePlayServices和地圖...它可能發生你用來開發的版本比你的朋友的設備上的版本更新... –

+0

它似乎是別的東西。當我卸載我的手機上的應用程序,並通過谷歌Play商店安裝它,它也不起作用:( – CBergau

回答

3

你都是對的,這是我做了什麼:

  • 我確實創造了與我的debug.keystore SHA1指紋的API密鑰。
  • 我確實創造了一個APK文件,並與我.jks文件簽署該機器人工作室也爲我創造
  • 我並部署APK和地圖無法顯示

要解決這個問題:

獲取JKS文件的使用下面的命令的SHA1指紋:

keytool -v -list -keystore /path/to/my.jks 
  • 創建新的API密鑰對谷歌
  • 保存新的API密鑰我的manifest.xml
  • 上傳新的APK

完成

2

當您運行的應用程序與Android Studio中,您的應用程序使用debug.keystore。映射工作,因爲爲debug.keystore生成了map key。您必須爲您的發行密鑰庫生成api密鑰。

+0

這聽起來有效。要試試! – CBergau

+0

這將是問題。您還需要卸載現有版本(密鑰庫錯誤)並安裝固定版本,Google Play Services似乎會緩存Maps API密鑰,因此安裝在頂部會繼續爲您提供空白地圖。 Play商店,您可以通過[adb](http://developer.android.com/tools/help/adb.html)進行安裝來在設備上進行測試:'adb install myapk.apk' –

+0

請注意,這也意味着任何人通過Play商店更新您的應用程序將繼續無法看到地圖,直到他們重新啓動他們的手機(我_think_清除緩存) –