2013-06-20 42 views
1

我有一個應用,我創建的應用使用Google Maps和Google Play Store,並在使用Eclipse和Android SDK進行調試時映射顯示在我正在運行的設備上,但是當它發佈時,它不會顯示在應用程序中。 Theres只是一個很大的灰色屏幕。我的Android應用在調試時顯示谷歌地圖,但在發佈到市場時未顯示

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.eema" 
    android:versionCode="5" 
    android:versionName="5" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="10" /> 

    <permission 

     android:name="com.eema.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.eema" /> 
    <uses-permission android:name="com.eema.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" /> 



    <!-- 
      The following two permissions are not required to use 
     Google Maps Android API v2, but are recommended. 





    --> 
     <uses-permission android:name="android.permission.VIBRATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
<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-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" /> 

     <activity 
      android:name="com.eema.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="com.eema.MapViewActivity" 
      android:label="@string/title_activity_map_view" > 
     </activity> 
     <activity 
      android:name="com.eema.NoConnectionActivity" 
      android:label="@string/title_activity_no_connection" > 
     </activity> 
     <activity 
      android:name="com.eema.ShelterActivity" 
      android:label="@string/title_activity_shelter" > 
     </activity> 
     <activity 
      android:name="com.eema.FuelStopActivity" 
      android:label="@string/title_activity_fuel_stop" > 
     </activity> 
     <activity 
      android:name="com.eema.DirectionsActivity" 
      android:label="@string/title_activity_directions" > 
     </activity> 
     <activity 
      android:name="com.eema.EvacRouteTableActivity" 
      android:label="@string/title_activity_evac_route_table" > 
     </activity> 
    </application> 

</manifest> 

難道是密鑰庫。我有一個已經生成的發佈密鑰庫文件,是否需要從中獲取密鑰庫?

回答

1

您剛剛看到灰色屏幕......這幾乎肯定是錯誤的API密鑰。模擬器使用調試密鑰庫和androiddebugkey,因此您應該爲此創建一個API密鑰。記住要改變它,當你發佈應用的目標市場

refer this

+1

你說得對,我必須將釋放鍵添加到控制檯和清單。 – yams

0

我認爲這是一個密鑰庫問題。 使用「keytool」從密鑰庫中獲取SHA1 並像註冊調試密鑰庫一樣註冊它。

你很好走。

+0

你能給我如何做到這一點的例子。我正在使用Keytool進行日食。 – yams

+0

還有,一旦我得到我的MD5,我需要把它放在我的androidmanifest和谷歌API控制檯? – yams

+1

實際上它不是md5,你必須將SHA1添加到控制檯Yaadm。 – yams

0

當你讓你的apk文件。你需要創建一個密鑰庫。現在,使用該密鑰庫使用「Keytool」獲取MD5,就像您使用調試密鑰庫一樣。之後,你需要從MD5註冊API密鑰,你剛剛得到。最近,U在您的Android清單中使用API​​密鑰。

+1

這不是MD5,我必須將SHA1添加到API控制檯。 – yams