百度地圖騎行導航誘導頁view空指標和初始化問題最佳解答
阿新 • • 發佈:2021-01-17
技術標籤:Android 解錯錦囊Android 地圖開發百度地圖百度騎行導航地圖導航findViewById空指標(空物件)
不得不說,百度的SDK整合真的很考驗一個人的耐心、細心和用心,就拿百度地圖SDK來說,
導航誘導頁view空指標問題:
騎行導航demo:BaiduMapSDK_BikeNavi_AS_Demo
導航誘導頁出現空指標問題,奇怪,demo可以,我整合之後不可以了,閃退,好氣哦!這個坑花了我好幾天的時間,每次想要吐槽官方文件寫的差時,最後啪啪打自己的臉,說實話,還是自己粗心了。
Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
解決:
Application方法中的ReflectHelper.unseal(base);千萬不要弄丟了,問題就是出在這裡。經過我多次的測試,發現Android R(11)仍存在閃退問題,想必是地圖SDK還沒適配Android R的原因。這個大家不用擔心,Android Q(10)以下親測有效。
public class BNaviDemoApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
ReflectHelper.unseal(base);//這傢伙就是空指標的大罪人,一定不要弄丟了
}
@Override
public void onCreate() {
super.onCreate();
SDKInitializer.initialize(this);
}
}
初始化失敗問題:
就是整合之後,執行沒咋反應。
解決:
肯定是少了這張圖片,補上就行了。
一個小建議:
下載官方demo,匯入到Android studio,接著,新建一個新專案,把demo的程式碼原封不動複製過去一遍,成功之後,再整合到主專案,這會讓你少走很多彎路。