Android學習(7)---Android Studio集成百度地圖SDK時獲取SHA1與遇到的錯誤

前言

在使用Android Studio集成百度map SDK的過程中,出現了地圖不展示等各種錯誤,記錄下來,以幫助初學者少走點彎路,由於使用百度地圖需要使用百度的AK,而AK需要SHA1值與包名組合,網上對SHA1的獲取衆說紛紜,但是沒有一個整體的描述,導致了就算獲取了SHA1並獲得AK之後,地圖仍然報230錯誤的現象,於是此文來闡釋下關於SHA1與AK的簡單關係;

正文

首先說明一點,真機調試和打包時候所使用的簽名是不一樣的,調試(debug)時使用的是C:\Users\****\.android目錄下的debug.keystore,而打包則是需要自己創建一個簽名,因此獲取SHA1的時候要根據是調試還是打包來判斷要使用的keystore文件,但是在Android Studio中自己新建的簽名文件已經不是keystore後綴的文件了,而是以jks爲後綴的,於是這裏我們需要獲取兩個SHA1值,一個調試、一個release,當然如果你只是調試那隻用前面一個就可以了;然後在Baidu的API控制檯中創建應用的時候,創建兩個,一個debug AK,一個release AK,當然也是按個人需求來創建;
下面來演示這兩套的獲取與創建:

(1)DEBUG:

獲取debug SHA1:
debug的keystore文件一般位於:C:\Users\****\.android目錄下的debug.keystore
在此目錄打開命令行,使用keytool命令:keytool -v -list -keystore debug.keystore
這裏會讓你輸入密鑰庫口令,這你妹的誰知道,結果查了一下,你猜是啥? android 我真去了!

這樣就獲取到debug的SHA1值了,這樣在真機調試的時候,使用這個SHA1創建的AK就能正常的使用地圖了;

(2)release

這個我使用Android Studio的Terminal來獲取:
首先自己創建一個release版本的證書,Build--》Generate Signed APK...
切換到相應目錄,並使用命令:keytool -v -list -keystore ***.jks 這裏***換爲你創建的簽名的名字:


這樣就獲取到相應的SHA1了;


創建AK:


這樣使用這兩個AK,分別在debug或者release時使用,就能正常的使用百度地圖了大笑


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章