FROM:http://sakishum.blogbus.com/logs/74078747.html
遇到的问题:
“Log 出现 Couldn't get connection factory client ,
在Eclipse上 , 自己的Map api key 都有 Couldn't get connection factory client 错误 ,
但是可以顯示MAP,自己试过故意用错的 Map api key , 在Eclipse上是无法显示 Map , 证明 Map key 没错”
FROM: 调用google map服务的程序在手机上无法显示的解决
”调用google map服务的android在AVD上能正常显示地图,在真机上测试后出现地图为黑,左下角有个黄色方块的现象。
我的机子是milestone,一开始以为是自己程序或者是key的问题,但是在AVD上完全没问题,key也更换为发布用的keystore申请的key了。最后用手机调试,从logcat的报错信息,我怀疑可能是系统根本就无法使用google api。
为了验证我的想法,我从电子市场上下载了itrack和opengps两款运用调用google map的程序,结果果然也和我的程序一样出现地图为黑,左下角有个黄色方块的现象。
找到了症结就好办了,google不可能在自己的系统里不允许调用自己的服务吧,zf封锁服务倒是有可能。。。但是最可能的是系统给更改过。
我的系统是itfun论坛网友制作的基于国行xt702的rom,在百度谷歌两天后从一些评论中获知这个国行的rom根本就没有包含google map api,也就是说从底层就不支持调用。
于是我下载了欧洲的2.1原版rom,果然问题就解决了,地图也正常显示,就是没中文使用了。
//==============================残念=============================
Q1:milestone从安桌市场下载的有关谷歌地图应用的软件以及我自己写的程序地图都无法显示,而在左下角显示个黄色的方块,但是我使用的googlemap4.3又能显示,现在还不知道怎么解决。
Q2:“我的手机是milestone,除了googelmap其他有关googlemap的程序都无法显示地图,都只能在左下角显示个黄色方块,不论是在网上下载的程序还是自己写的都是这样,这些程序都在模拟器上是可以运行的 。用logcat看到这些错误,郁闷的是在模拟器上就可以显示,我在发布程序前也用自己生成的keystore重新申请了google map api
A:因为XT702 ROM原版不支持Google服务(也即从底层上不支持),后改的只是调用程序而内核没有变(也变不了),因此Google地图没有提供底层的API支持给那些应用程序,所以打不开 得刷英文原版的rom。
LOG:
”Couldn't get connection factory client“ ~♡
"java.lang.IllegalStateException: Null Bitmap! "loading_tile"; if seen during a test, this usually means that the image file needs to be added to the test.config file" ~♡
遇到相同问题的求助帖子有:
② [GoogleMap/GPS] google map 手机上不能显示地图,模拟器上可以显示
③ [GoogleMap] 究竟 google map 是否要取得權限才能顯示 map ?
④ 手机上除了googelmap其他有关googlemap的程序都无法显示
⑤ 大家有试过把使用google map的程序在手机上跑跑不?
//=======================残念======================
解决方法:
把milestone刷回【欧洲原版】,自制的MapAPIDemo就可以运行了...
刷机包下载:MileStone Android2.1官方原版---【欧洲原版】
刷机需要的工具教程:XT702/Milestone刷机教程
简单的刷机过程:
1.在关机情况下,同时按住开机键和拍照键不放,(bootloader是90.78的是按住X键加开机。如何知道自己机子的bootloader版本?在关机情况下,同时按住导航键向上方向+开机键不放,进入BootLoader。)直到屏幕出现一个中间有感叹号的大三角形。
2.按住音量+键再按拍照键进入菜单模式。
3.推开侧滑盖,用导航键向下到wipe date/factory reset,按金色导航键正中间确定。
4.用导航键选择yes—delete all user date,按金色导航键正中间确定。
5.用导航键选择选择wipe cache partition,按金色导航键正中间确定。
6.关机。
7.同时按住导航键向上方向+开机键不放,进入BootLoader。
8.用数据线连接手机和电脑。
9.打开RSD Lite(解压缩之后文件夹中带有蓝色M标志的SDL就是)。在RSD Lite软件界面上面点击带有省略号的小方块按键,选择你要刷入的rom(sbf文件),点击Start开始刷机。
10.RSD Lite软件界面下半部分的空白处会显示刷机进度。刷机期间手机会多次重启,无需担心,当显示PASS(Finished)时,代表完成。(注意刷机还没完成)
11.当显示please manually power up this phone,表示需要手动重启你的手机。此时拔掉手机数据线,关机。
12.同时按住导航键向上方向+开机键不放,进入BootLoader。重新用数据线连接手机和电脑,RSD Lite软件界面下半部分的空白处会显示刷机进度栏会显示PASS(Finished)。
13.刷机完毕。
And:
放入手机卡和内存卡。开机之后,点击绿色的小机器人,开始设置和使用你的milestone。
后记:
现在大部分的milestone都是刷中文的包,不支持google maps API 。
那我最后开发出来的东西放上去岂不是也运行不了么...