真机缺少com.google.android.maps.jar解决方法:

http://www.cnblogs.com/bigben0123/archive/2012/04/13/2445218.html

原文:http://kb.cnblogs.com/a/1652230
写了个基于google map api的应用,模拟器一直都顺利,移植到真机时由于真机没有com.google.android.maps.jar包一直运行不了,直到搜到此贴。
重点在这部分:

手机终端需要支持Google Add-ons

作为与Google合作的手机终端的制造商,如果想在自己的Android终端中集成Google的一些应用,例如map,market,picasa,sync等,需要和Google签约,这样Google会有专人帮你将这一系列服务整合到你的平台中来。

作为没有和Google合作的手机终端的制造商,我们可以使用破解的方法将Add-ons中的运行库整合到自己的framework中来(build到手机终端的system.img中)。操作如下:

1. 在Android中,额外支持Google Add-ons(GoogleMaps),需要将如下档案(从标准的SDK中pull出来的,也可以从GPhone中pull出来)打包进System.img。Google Add-ons只需要1--2,GoolgeMaps(Google的地图程序) 需要1--5:

1)system/framework com.google.android.maps.jar

2)system/etc/permissions com.google.android.maps.xml

3)system/framework com.google.android.gtalkservice.jar

4)system/etc/permissions com.google.android.gtalkservice.xml

5)system/app Maps.apk (Google Maps v3.0)

2.源码:Android CupcakeRelease(经测试,在donut平台同样适用。)

1)编译源码(为了生成out/target目录中Android最原始的东西)

2)将以上文件加入out/target/product/generic相应目录,在源码根目录使用makesnod打包,获得新的system.img

因此,做如下操作把模拟器(用google api的模拟器,不是sdk的)里的上面所述1-3个文件pull出来:

adb pull/system/framework/com.google.android.maps.jarF:\fatcat\adbshell\com.google.android.maps.jar
adb pull /system/etc/permissions/com.google.android.maps.xmlF:\fatcat\adbshell\com.google.android.maps.xml
adb pull system/app/Maps.apk F:\fatcat\adbshell\Maps.apk

然后usb连上你的真机,把pull出来的3个文件push进去:

adb pushF:\fatcat\adbshell\com.google.android.maps.jar/system/framework/
adb push F:\fatcat\adbshell\com.google.android.maps.xml/system/etc/permissions/
adb push F:\fatcat\adbshell\Maps.apk /system/app/

这些操作的前提是取得设备的root权限(adb remount)。

posted @ 2012-10-17 18:00  wanqi  阅读(5792)  评论(0编辑  收藏  举报