在开放基于百度地图API的应用时候,遇到了不少的坑,由于本人是小白(大学学的是通信,兴趣爱好是编个小程序方便自己,但是毕业后6年都没接触JAVA和C语言),所以前前后后处理这些坑用了2个月,先来说说我遇到的坑。
1、AK问题,刚刚开始看来官方文档,稀里糊涂的找SHA1,生成AK,让后运行程序,发现MAPVIEW只能出现方格,后来在网上找到一个叫安全效验码的程序,这个程序能看手机上的APP的SHA1,查看的一下发现在手机上实际运行的SHA1与申请时候的SHA1不一致,后来找到原因:开发版和生成版的SHA1是不一样的。
2、APP闪退,检查发现在设置定位选项setIsNeedLocationDescribe(true)和setIsNeedLocationPoiList(true)是程序闪退的原因,如果不设置(默认是false),程序就不闪退了。
3、闪退的问题是解决了,但是APP运行发现BDLocationListener只运行一次,即打开程序的时候能定位,后面就不定位了,而且onDestroy后,再次打开APP连定位都没有了,必须要通过手机清除内存,再次运行才能定位一次。
4、还有就是Android M的动态权限问题,后来用了PermissionsDispatcher的Plugin解决问题。
就在今天,这些问题全部解决了,APP也顺顺利利的跑起来了。哈哈😄😄😄
到底是什么问题:其实还是开发包的问题。
1、原来我是先在这个页面(下图)点击一键下载,然后解压里面的开发包,并考到APP开发目录中。
2、然后再在(下图)点击一键下载,然后解压放到开放目录。
3、配置好Gradle,让后开放就出现了上面的问题。
那么到底怎么解决的呢?
在这个页面,按照如此的选项,点击开发包,下载然后解压放到开发目录下,配置好,就解决啦!!!