1. 程式人生 > >史上最詳細的Android Studio百度地圖(BaiDuMap)開發教程,可以當作官方文件的教科書級別教程!

史上最詳細的Android Studio百度地圖(BaiDuMap)開發教程,可以當作官方文件的教科書級別教程!

本文是續寫一一哥作品,(一些大神沒想過要寫出來的,而笨小白又不懂的,,稍有完善。)

原文:http://blog.csdn.net/syc000666/article/details/50756551

由於工作原因,需要用到地圖模組,之前一直是用Eclipse開發百度地圖,
在Eclipse環境下搭建百度地圖,只要按照百度地圖官網一步步配置就可以了,相對來說很簡單,但是由於現在開發工具切換到了AndroidStudio,百度地圖開發環境的搭建就不是那麼容易了,主要還是因為Studio下apk的簽名檔案導致百度地圖key的申請和Eclipse不一樣,從而造成App執行或者上線後出現Key的驗證出錯,地圖介面只有一片空白的格子的現象.出現百度地圖230錯誤,APP Scode校驗失敗.

如下圖所示:

https://img-blog.csdn.net/20160227193530185

就是這個錯誤浪費了我不少時間!
其實網上也有不少大牛說出瞭解決辦法,但是總是一帶而過,不夠詳細,為了其他開發百度地圖的孩兒少走彎路,避免浪費不必要的時間,我就寫了這篇部落格,不足和有誤之處,還望各位海涵!

一.建立一個Android Studio專案:

https://img-blog.csdn.net/20160227193618438

二.申請百度地圖key.

此處需要重點注意,由於Studio和Eclipse的開發環境不同,導致Sha1值的獲取有差異,在Studio下無法像Eclipse那樣獲取Sha1值.
而且Studio中預設安裝執行的apk是debug版本,不是release版的,debug版的apk有預設的debug.keystore簽名,和release版的簽名是不一樣的.
所以如果採用的是百度地圖官網提供的獲取簽名的方法,是獲得的預設的debug版的簽名,不是正式的簽名.
如果我們開發的app就是自己玩玩,那麼採用預設的debug簽名來獲取Sha1值就可以了,但是如果我們要正式釋出,則需要用release版的簽名來獲取Sha1值才行.
我這裡直接通過release簽名檔案來獲取Sha1值,和實際開發一致

.

1.建立release版的簽名檔案:

在Eclipse中,簽名檔案的字尾是.keystore,而Studio中的簽名是.jks.
所以先去Builde選單下生成一個正式的.jks簽名檔案.

https://img-blog.csdn.net/20160227193840470

選擇Create new…生成一個新的簽名檔案:

https://img-blog.csdn.net/20160227194252503

Key store path 是選擇你要儲存的路徑,然後再起一個名 確定即可;Confirm中填與password相同的密碼;剩下的公司,城市,省份,國家編號,自行填寫;

https://img-blog.csdn.net/20160227194325378

OK之後直接是如下介面,填寫好剛才的資訊即可.

https://img-blog.csdn.net/20160227194353696

Next下一步,出現如下介面:
如果進行了多渠道打包配置,則在Flavors中進行選擇即可.

https://img-blog.csdn.net/20160227194410196

此時,在你指定的路徑下會出現一個.jks檔案。

2.進行release版簽名的驗證,生成正式簽名的apk:

點選Project Structure選單,選擇Signing簽名選項:
填寫各種簽名信息即可.

https://img-blog.csdn.net/20160227202331521

此時在builde.gradle檔案中就多了對正式簽名檔案的配置引用:
注意要在buildTypes中新增對正式簽名配置的引用.
signingConfig signingConfigs.release

(新增完之後必須同步,這個studio會自動提示)

https://img-blog.csdn.net/20160227202355880

3.申請百度地圖的key:

執行cmd---》cd .android---》keytool -list -v -keystore 後面加剛剛創建出來的jks檔案(直接拖進來就行,注意連線處要有一個空格)---》輸入你的password--》回車

https://img-blog.csdn.net/20160227194519270

至此得到了正式簽名的Sha1值.利用這個值就可以去百度官網申請Key了.

https://img-blog.csdn.net/20160227202427544

去百度控制檯申請Key,填上Sha1和包名,至此,生成所需要的Key:

https://img-blog.csdn.net/20160227202450138

點選提交之後就會跳轉出現下面出現的金鑰了啊。

https://img-blog.csdn.net/20160227202541280

三.配置開發環境:

接下來就按照百度地圖官網的步驟把開發環境搭建好就可以了.

1.引入所需jar包和so庫.
注意此處要將jar包新增為類庫.
在main目錄下直接建立jniLibs目錄,然後把各種.so庫拷貝進來即可, (資料夾必須是以jinLibs命名)
不用看百度官網說的那一堆廢話(此處嚴重鄙視百度的API文件,簡直就是一堆狗屎,和高德的文件一比,菜的不行,寫這個文件的也不知道怎麼進的百度).

這裡寫圖片描述

注意:需要將jar包作為類庫新增到studio的依賴庫中.

2.配置其他所需要的許可權和key:

把此處的   “開發者 key”  換成剛剛得到的key就行了(不能有空格)

這裡寫圖片描述

這裡寫圖片描述

3.編譯執行安裝apk:

我這裡直接在Gradle裡直接build和install專案了.

這裡寫圖片描述

安裝執行apk檔案:

這裡寫圖片描述

得到最終結果:
出現這個介面說明環境搭建完畢,可以繼續其他地圖功能的實現了.

這裡寫圖片描述

最後就是執行結果.部落格中如有不當之處,希望各位可以不吝賜教,共同學習和探討,謝謝!