百度地图SDK调试SDKInitializer.initialize(getApplicationContext())错误
首先描写叙述下问题出现的原因。開始的时候写了一个百度地图SDK的demo来试功能,由于最開始用的是Eclipse自带的AVD来调试,一切正常。
都能够正常验证,可是由于受不了重复的重新启动AVD设备,果断换Genymotion这个近期非常火的模拟器来替代调试。于是乎问题就来了。
对于Genymotion的了解,各位自行度娘,非常多了。
仅仅是在安装的时候可能出现了一点问题。稍后再表。
最開始调试正常的project代码。结果换了模拟器后果断不行了,可是因为中间在安装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
上两张图。如此之后就能够正常调试了。