百度开放平台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,显示一切正常!!

你可能感兴趣的:(android,infowindow,疑难问题,地图定位POI,百度开放平台)