1. 程式人生 > >AndroidStudio 百度地圖在打包後失效,顯示不出地圖。

AndroidStudio 百度地圖在打包後失效,顯示不出地圖。

    今天下午碰到的,我簽名後的apk,一切都正常,但是到地圖這一塊的時候就出現了問題,地圖老是顯示不出來。顯示的是網格。我在網上找了好多的資料。最後整合各位前輩的經驗,以下就是我的解決方案:
    (1)就是正常的簽名,咱們看圖說話,下圖所示:
    ![開啟簽名](https://img-blog.csdn.net/20160229180508004)
    ![填寫簽名後的路徑、密碼、關鍵詞](https://img-blog.csdn.net/20160229180658084)
    ![最後一步,完成](https://img-blog.csdn.net/20160229180827446)
    (2)以上是正常的簽名,但是把簽名後的apk重新在手機上安裝,
    你會發現地圖顯示的是一片網格,接下來就是比較關鍵的一步了。首先解釋一下,導致這種問題的原因是:Apk簽名前的SHA1跟簽名後的SHA1發生了變化。也就是說百度地圖api建立的應用需要重新設定,即把該地圖應用的SHA1重新改一下。如圖:
    ![把數字簽名換成根據xxx.jks 獲取到的SHA1](https://img-blog.csdn.net/20160229181657980)
    接下來就是怎麼通過xxx.jks,獲取到新的SHA1.
    獲取當前版本的簽名檔案SHA1的方法是如下命令:
keytool -list -v -keystore debug.keystore

而正式apk包需要改成自己的簽名檔案。
android stuido生成的簽名檔案字尾為.jks,
假設簽名檔案為test.jks,則獲取新的SHA1的方法是:
keytool -list -v -keystore test.jks
然後把新獲取到的SHA1,在百度地圖api中替換以前應用的SHA1.然後在重新打包apk,百度地圖顯示正常。