不得不说,百度的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
哈哈哈~
发现了一个问题,demo源代码BNaviGuideActivity extends Activity改为BNaviGuideActivity extends AppCompatActivity也会出现上面的空指针(空对象)问题。WNaviGuideActivity也是一样。
解决:
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的代码原封不动复制过去一遍,成功之后,再集成到主项目,这会让你少走很多弯路。