百度開放平臺SDK錯誤解決

百度開放平臺給了開發者很多便利的SDK使之能夠快速集成很多服務,提高開發速度減小集成難度。但是在開發過程中也會遇到很多奇葩或者不奇葩的問題。

1、java.lang.NoClassDefFoundError: com.baidu.frontia.base.impl.FrontiaImpl

這個是最基礎的問題,百度的SDK及其demo也沒有提示。一般問題發生在Android的Application沒有使用百度的com.baidu.frontia.FrontiaApplication或者其子類;或者Frontia沒有在第一個Activity中初始化(Frontia.init(this.getApplicationContext(), Constant.BAIDU_APIKEY);)

2、使用百度地圖 定義在XML中的MapView,出現Binary XML file line #2: Error inflating class

則是在Application中要先初始化Frontia,SDKInitializer.initialize(this);

3、使用微信分享,不彈出微信分享頁面並閃一下就不見了的情況。

出現類似的異常:Duplicate finish request for ActivityRecord{417f98c0 com.tencent.mm/.plugin.base.stub.WXEntryActivity的,可以從兩個方面來解決:
①看自己申請的微信的appkey是否通過審覈
②看當前運行的app的md5是否和微信上申請的一致。很多時候用的debug的md5然後發佈版不能用,有時候是反過來的。

4、百度地圖Native method not found: com.baidu.platform.comjni.map.commonmemcache…

使用baidumap3.4版本,一定要使用對應版本的so文件,否則會出這樣的問題。另外模擬器依然出現這樣的問題,應該是so支持的平臺不夠。。。這時使用百度給出多個平臺的so文件;如果沒有提供,可以給百度提反饋意見,讓它們發佈時多編譯幾個平臺的so庫。

5、InfoWindow不正常高度

在開發POI點擊事件時,經常用到InfoWindow,彈出一個框顯示這點的具體信息,這其中可以自定義View。那麼問題來了,我使用自定義View的過程中,根佈局不管如果設置match_parent或wrap_content,都是不正常的高度,人爲指定dp也無用。官方也沒特別的說明,研究了好多天才發現是自己的佈局中存在RelativeLayout的佈局,InfoWIndow不知道如何計算它的高度才導致的。於是將其中的RelativeLayout全部刪除,改用LinearLayout,顯示一切正常!!

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