天天看點

如何正确擷取百度定位Keystore,解決百度地圖不顯示問題

在開發百度地圖的時候會出現百度地圖有時候會加載不出來,隻顯示網格圖,查找原因,也許是key出了問題,究其原因就是申請百度key的時候填寫的SHA1也就是指紋證書有問題。估計很多開發者都是照着百度開放平台上介紹的流程去申請的。

照着百度地圖開發者平台介紹的得到的key,申請得到的指紋證書隻是本地開發環境存在的預設簽名檔案debug.keystore的指紋證書。流程如下:

  第一步:打開指令視窗,輸入cd .Android。(這一步說明開發環境預設的簽名證書debug.keystore存放在C槽.android目錄中)

  第二步:進入.android目錄後,接着輸入keytool -list -v -keystore debug.keystore,這裡的debug.keystore就是開發環境下預設的簽名檔案了。

 值得注意的是:我們在開發一個apk釋出在應用商店時,需要我們自己的生成的簽名檔案,這個簽名檔案和開發環境預設的簽名檔案肯定是不同的,至少指紋證書SHA1就不同。是以,當我們通過我們自己生成的簽名檔案導出簽名的apk時,百度地圖的key應該是我們自己的簽名檔案中的指紋證書,如果還是用的是debug.keystore的SHA1申請的key,百度地圖自然就會有問題。比如,我們導出apk的簽名檔案名字為myapp.keystore;那麼可以通過在指令視窗中輸入keytool -list -v -keystore myapp.keystore得到SHA1,然後通過這個SHA1去申請百度key,這樣,你導出的簽名apk的百度地圖功能就不會隻顯示方格圖加載不出來地圖的問題了。

 總之:如果你用到百度地圖功能的apk,僅僅是通過本地環境運作的,你完全可以按照百度開放平台上介紹的流程去擷取SHA1。但是,如果你開發的apk是需要自己生成的簽名檔案(簽名證書)導出,放到應用商店去給别人下載下傳的。那麼,你申請百度地圖key的SHA1值,就應該是來自你生成的簽名檔案中的SHA1值,SHA1檢視方式keytool -list -v -keystore 簽名檔案。(注意要進入檔案所在路徑再輸入指令)。