最近开始的一个项目中,用到谷歌地图,用谷歌的帮助文档里面的程序放到真机上运行时,出现了INSTALL_FAILED_MISSING_SHARED_LIBRARY,搜索到一个比较靠谱的方法,http://hi.baidu.com/%C1%F5%D0%A1%C0%F61984519/blog/item/186f0eec0fd8115279f0550b.html,

有些设备输入adb -d shell 后,能立即获取系统的最高权限(出现"#"),如果是这种情况,那好办,

1.给system挂载读写权限

mount -o rw -t yaffs2 /dev/block/mtdblock3 /system (mtdblock3 视具体机器情况有所不同)
2.从emulator的system/framework文件夹下导出com.google.android.maps.jar 文件(这个文件就是导致出现INSTALL_FAILED_MISSING_SHARED_LIBRARY的问题所在),利用91助手等工具,将该包导入手机对应的文件夹里

3.把真机中/etc/permissions/platform.xml文件取出来编辑

<permissions>
</permissions>
中末尾处增加:
<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>

然后再把这个platform.xml文件拖回真机的/etc/permissions文件夹中;

 


如果设备输入adb -d shell 后,只能获取系统的用户权限(出现"$"):

这时候手机助手就利用不了了,运用Linux下的操作,先获取最高权限,即输入"su"

1,push e:\x.jar  /mnt/sdcard/x.jar 把下载并放在电脑E盘的x.jar放到手机的存储卡上(在这里,x=com.google.android.maps)

2,mount  -o remount, rw /dev/block/mtdblock7/system(mtdblock7根据实际情况有所不同)

3修改手机system文件夹的操作权限

chmod 777 framwork

4 把x.jar放到手机对应的文件夹

cp /mnt/sdcard/x.jar /system/framework/x.jar

5,把真机中/etc/permissions/platform.xml文件取出来编辑,类似上面的x.jar操作,

重启手机,就可以运行GoogleMap的应用程序了。

希望能帮助遇到该问题的朋友们,转载注明出处。