百度地图SDK调试SDKInitializer.initialize(getApplicationContext())错误

来源:互联网 发布:mysql 多字段distinct 编辑:程序博客网 时间:2024/05/19 01:10

           首先描述下问题出现的原因,开始的时候写了一个百度地图SDK的demo来试功能,因为最开始用的是Eclipse自带的AVD来调试,一切正常。都可以正常验证,但是由于受不了反复的重启AVD设备,果断换Genymotion这个最近很火的模拟器来替代调试,于是乎问题就来了。

          对于Genymotion的了解,各位自行度娘,很多了。只是在安装的时候可能出现了一点问题,稍后再表。

          最开始调试正常的工程代码,结果换了模拟器后果断不行了,但是由于中间在安装Genymotion的时候出过问题,所以有点怀疑是不是Eclipse的环境被搞出问题了,无奈。。只能抓狂。。最后果断重装了Eclipse,大把时间浪费在了这个上面。

          最后装好后,又接着装Genymotion的Eclipse插件,这回和之前还是一样,在在线安装的时候卡住了,久久不动。

          如图

              就是卡在这个一直连接的界面,最后找了许久后发现了一个解决方案,就是把下面那个Contact all update sites during install to find required software这项勾选取消后,速度飞速的走起,很快插件安装完毕。由于是在线安装因此用这个办法,另外安装ADT本地安装的时候发现也会有这个卡住的问题,最后是断网再安装解决的。总之装完后用起Genymotion还是很不错的,速度很快很流畅。

             但是很快又一个问题来了,就是在调试百度地图demo的时候        SDKInitializer.initialize(getApplicationContext());这句一直报错,无论如何改,加AndroidManifest.xml里面的权限,改getApplicationContext()为getApplication()等等都不行,最后还是找了很久发现一个靠谱的解决办法,究其原因还是模拟器对于arm架构支持的部分缺少了而已。

            当我们安装好Genymotion后,把Android运用部署到上面调试时,console控制台会报错:Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE,这是因为系统里缺少了 Google Play 市场等各种谷歌服务应用,其实是因为版权问题,从 2.0 版本开始 Genymotion  提供的虚拟设备都已经移除了 Google Apps  以及 ARM library support ,所以,如果通过软件里下载回来的虚拟机在运行一些必须依靠这些组件运行的 App 时就会出现错误或闪退现象。

        解决办法就是下载arm的支持组件直接拖到Genymotion建立的虚拟器上面点击OK重启就可以正常调试了。

       下载地址:http://download.csdn.net/detail/zhanghaofor/8765301

       

         上两张图,如此之后就可以正常调试了。

        

1 0
原创粉丝点击