最近开始的一个项目中,用到谷歌地图,用谷歌的帮助文档里面的程序放到真机上运行时,出现了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的应用程序了。
希望能帮助遇到该问题的朋友们,转载注明出处。
转载于:https://blog.51cto.com/lgw150/805047