1. 程式人生 > >AndroidStudio整合百度地圖導航SDK的一些坑

AndroidStudio整合百度地圖導航SDK的一些坑

1.百度官方 導航Demo key驗證錯誤 errorcode = 230

這個需要自己重新在百度的官網上申請 一個AK 最好是有簽名的,不要用debug版的

2.官方Demo key驗證成功之後,面臨的問題的是沒有聲音

首先你需要在TTS白名單裡注一下自己的應用,注意的是裡面的簽名是 MD5格式的,並且不要:分隔,只用數字和字母就ok。註冊完之後,用你註冊AK的簽名打包應用,安裝到手機上,就差不多了

說完了官方demo,接下來是整合時候的坑,我使用的是Android導航 SDK v3.2.0這個版本的,整合的步驟官網給的很不詳細,而且應該是針對eclipse說的這裡分享一下AS的

1首先,清單檔案AndroidManifest裡的東西許可權 , 服務 ,註冊AK,直接copy就行
2jar包和so檔案, jar包直接放到 lib檔案下就行,然後依賴,so檔案不要像demo一樣放到lib下,也不要在gradle檔案裡新增
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
androidTest {
}
}


直接so檔案放到jniLibs資料夾下就ok
3.assets資料夾下的東西,一一複製過來就好
這樣子差不多就整合好了,接下里就是自己寫的程式碼了,當然註冊AK還有註冊TTS白名單這是必須的

以上只是官方導航Demo,接下來是,百度地圖+百度導航一塊用,遇到的坑!

遇到的錯誤

xxxxxxxxxxxxxlib/libgnustl_shared.so” not found,
Native method not found: com.baidu.platform.comjni.engine.JNIEngine.initClass:(Ljava/lang/Object;I)I 等坑
原因是你第一次下載了 什麼基礎地圖什麼定位的sdk,後面需求要加上導航的,你就又重新下載了導航的sdk,導致兩次下載的一些檔案有衝突。

解決辦法

把你之前整合的所有jar包,so檔案,亂七八糟的,全部刪除。然後在百度上重新下載一次sdk,把你用的全部選上,然後用這個sdk再次整合一遍就好了。
這裡需要注意的問題,還是so檔案的問題,jar包就直接放到lib,然後依賴就ok。so檔案要放到jniLibs下。下載的sdk so檔案是這個樣子的
so檔案的目錄
只有一個armeabi 資料夾。我們同樣不能把它放到lib下,要放到jniLibs下,並且把那些什麼x86的資料夾都新建出來,裡面的內容和armeabi一樣就ok,差不多了,別忘了註冊AK和TTS白名單
五個資料夾裡的內容一樣

鄙人不才,這些是自己在整合的時候,遇到的一些坑,和自己的解決方法,如果有大神有好的方法,希望可以分享一下~

純手打~謝謝