2013-12-19 140 views
0

我已經生成了API密鑰,但總是得到授權失敗,儘管密鑰是正確的。我爲此添加了所需的所有許可,但仍然無法使用;谷歌地圖V2授權失敗

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.xxx.boutique" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <permission 
     android:name="com.xxx.boutique.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 
    <uses-permission android:name="com.xxx.boutique.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <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.WRITE_EXTERNAL_STORAGE" /> 

    <!-- Required to show current location --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <!-- Required OpenGL ES 2.0. for Maps V2 --> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 
    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="18" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.xxx.boutique.Page_acc" 
      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.xxx.boutique.Catalogue" 
      android:label="@string/title_activity_catalogue" > 
     </activity> 
     <activity 
      android:name="com.isims.boutique.Contact" 
      android:label="@string/title_activity_contact" > 
     </activity> 
     <activity 
      android:name="com.isims.boutique.Map" 
      android:label="@string/title_activity_map" > 
     </activity> 
     <activity 
      android:name="com.isims.boutique.Apropo" 
      android:label="@string/title_activity_apropo" > 
     </activity> 
     <activity 
      android:name="com.xxx.boutique.Tabmsg" 
      android:label="@string/title_activity_tabmsg" > 
     </activity> 
     <activity 
      android:name="com.xxx.boutique.Tabrdv" 
      android:label="@string/title_activity_tabrdv" > 
     </activity>  


    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="API KEY" /> 
     <meta-data android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
     </application> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     </manifest> 

,這就是我在logcat中,同樣的錯誤每次都獲得:

E/Google Maps Android API(2382): Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 
+0

清理和重建項目...在卸載應用程序之前,從測試deice –

+0

重新安裝後它工作正常。謝謝 –

+0

樂意幫忙:) –

回答

2

你的關鍵是沒有好處的。或者你:

1)您正在使用錯誤的SHA1編號從.apk文件中檢測此密鑰。 (應該是從你的密鑰存儲在這個應用程式)

2)您從您的IDE(Eclipse中,等)測試這一點,你所使用的SHA1從這個應用程序的密鑰庫。 (應該是從你的調試重點從IDE)

3)您的設備是越來越有以前運行混淆。從你的設備上卸載它,然後再試一次。每Twntee請求。正如twntee所說,卸載應用程序,清理並重建,然後再試一次。

請記住,有2個不同的密鑰庫。你使用了哪一個,你如何測試它?通過從您的IDE運行它或直接在手機上安裝.apk文件?

已更新每twntee。

+0

你怎麼知道他的鑰匙不好? – Emmanuel

+0

這是最可能的答案。這是一個Auth錯誤,如果它的權限會說權限失敗。至少我的日食是。 – Rick

+0

我跟着這個tuto http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/ –