2013-01-25 119 views
3

我試圖讓我的谷歌地圖上顯示我的應用程序,但它不工作,這個錯誤出現:谷歌地圖Android的API第2版:授權失敗

01-25 11:38:54.763: E/Google Maps Android API(30514): Authorization failure. 

我目前使用的SHA1證書指紋從用於在appstore上發佈我的應用的版本證書中提取。

編輯:我也在API控制檯上打開Goog​​le Map Android API v2。

我從here的評論中讀到「簽名算法必須是SHA1withRSA而不是SHA256withRSA」。但是,我從Eclipse創建了發佈證書,它是SHA256withRSA,我沒有對它進行任何設置。我似乎也無法改變它。

如果簽名算法導致問題,有人能夠啓發我嗎?如果是這樣,我應該如何改變eclipse上的簽名算法?

回答

4

想通了我的問題。

我一直在使用我的發行證書生成密鑰,在調試過程中,當我在手機上運行應用程序時,不會運行。我必須使用調試密鑰庫證書指紋。從你的調試密鑰庫

  1. 調試API密鑰,當你在手機上運行:

    請記得把2把鑰匙。

  2. 當您希望在部署到Google Play商店之前對應用程序進行簽名時使用的發佈證書API密鑰。

+0

你的意思是釋放Cert Api密鑰?請給我一些信息,我得到同樣的問題。 – Harshid

0

請檢查您是否已在您的google api控制檯中啓用Google Maps Android API v2

enter image description here

+0

對不起,我沒有提到它的壞,但是是我已經打開之前,我遇到了這個問題。 – lyk

+0

已經在清單文件中定義了你的mapkey? – GrIsHu

+0

是的,我已按照[此處](https://developers.google.com/maps/documentation/android/start)中的所有步驟操作。這就是爲什麼我想知道它的簽名算法是否會導致問題。但是現在我無法再次嘗試簽名,因爲[此問題](http:// stackoverflow。com/questions/14515231/fatal-lint-erorr-export-of-signed-app) – lyk

1

檢查您的API密鑰是否存在,或者沒有使用適當的SHA重新生成相應的SHA。如果你不知道如何產生的呢,試試下面:

JAVA_HOME\bin > keytool -list -v -alias androiddebugkey -keystore "~\.android\debug.keystore" -storepass password(your_own) -keypass "password(your_own)" 

檢查清單文件,如果你寫了兩個meta標籤這樣

<!--<meta-data--> 
<!--android:name="com.google.android.maps.v2.API_KEY"--> 
<!--android:value="AIzaSyBHghWPWutTiOxCJKll2WoCuVOQ5YotLiY" />--> 

<meta-data 
    android:name="com.google.android.geo.API_KEY" 
    android:value="@string/google_maps_key"/> 

評論其中的任何一種,我的項目使用geo.API_Key,它將處理GEO和Google地圖。

更重要的是導入google-services.json文件進入你的應用程序文件夾。