百度地图,505,第一次成功,小白集成百度地图走的弯路

    5555555~~~  都别劝我,让我哭一会儿~~~  妈的啥玩意儿啊。。。。弄这个bug一度弄到自己崩溃,整整花了十个多小时,偏偏自己又是一个死性子,非要给弄出来。。

    还好手机经摔!

    还好运气够好!

    还好自己坚持了下来!

     好吧,其实个中辛酸只有经历过才会懂,偏偏又不能靠别人,只能自己解决。

问题一:

     由于自己的心急,加上没有看开发文档的习惯,更多的是喜欢跟着一些博客撞一脸灰,但是大部分时间都能解决。但是这次则是一个意外。(其实也不是看不懂开发文档,主要感觉开发文档都是很大很全的那种,时间成本有点大)。

     解决:   下一次跟着博客炼的时候一定要看一下时间,因为版本的迭代更新很快。   另外,最好跟着官网的例子走,因为照样有很细很全的。  至少百度地图开放平台就是。

问题二:

      集成百度地图的时候,面对一堆so库,以及它自带的jar包,不知所措。

      解决:   跟着官方的demo的例子放so库,不要想当然的删除一些库。   此外,必须有足够的gradle关于android插件方面的配置经验,比如让模块识别 libs包下的so库:  sourceSets {main {jniLibs.srcDirs = ['libs']}},当然,它的jar包也需要在dependencies中声明:repositories { flatDir { dirs 'libs' } }   ;   api files('libs/jar包')。   此外这里有一个问题就是so库兼容包。  就是libs放so库的那几个文件夹armeabi,是针对不同cpu架构而设立的兼容包。

问题三:

         程序报NetWork location failed because baidu location service can not decrypt the request query, please check the so file.

        解决:   以上两个解决方法的合集。

问题四:

         程序报: 百度地图的ak不通过。  最坑。。。

          过程:   首先在百度开放平台根据网上的各种教程拿到sha1,结合自己的程序包名。 申请到密钥。   然后根据墙内的各种教程,设置,运行。  最终出现  第一次运行可以定位,后面的都是null,无法拿到 NDKLocation对象。    调试提示  密钥不对。 去网上搜: 基本都是包名写错的情况。  但是我百分百确信自己没有写错。   纠结,郁闷,彷徨,愤怒。  简直了。。。。。 熬了很多个小时。

          解决:   最后我思考了所有可能出错的环节。  从每个环节的作用以及可能实现的途径入手。  最终的原因是:   android studio的签名偏好的原因。  虽然我之前也从这个思路入手过:

      

   

    以上的步骤自己重复了不下5遍。 但是都没有结果。

    最终的解决办法就是简单粗暴的,啥图形界面不要。 不整这些虚的:

  

  这样弄了后,会惊奇的发现自己的app竟然装不上了。  session失败。   原因就是相同的app,但是签名不同。  我试了很多次,因为我已经删除了原来的app还是不行。  最终是用软件将残留的安装包目录清理了就好了。 测试成功。。。   感动地痛哭流涕。。。

    参考思路: android软件签名打包。   所以这次解决问题并不是直接针对问题问问题,因为这样总会有没遇到的问题。   所以,开发者的存在还是具有不可替代性的。

猜你喜欢

转载自blog.csdn.net/qq_36285943/article/details/82947792