Chinaunix首页 | 论坛 | 博客
  • 博客访问: 231181
  • 博文数量: 59
  • 博客积分: 1215
  • 博客等级: 少尉
  • 技术积分: 575
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-09 02:18
文章分类

全部博文(59)

文章存档

2012年(53)

2011年(6)

分类: 嵌入式

2012-03-05 01:32:12

Android使用Google map的地图服务的开发 INSTALL_FAILED_MISSING_SHARED_LIBRARY 问题
2011-11-14 14:37
 
 

地图服务开发中遇到此类错误大体分为以下两种情况解决:(论坛里大多都是属于第一种情况的答案,但是遇到第二种情

况论坛的解决基本无效)。


情况一:如果你用模拟器调试程序

首先检查AndroidManifest.xml,确保已经写了
其次确保你新建工程的时候 Build Target 选择的TargetName不是Android 而是其版本对应的Google APIs。
最后新建模拟器,target同样选择Google APIs。
这样此问题基本解决。你可以正常运行于模拟器上了。如果运行之后地图无法显示,而是现实灰色表格。那么说明你的

android:apiKey 不对。重新注册apiKey(具体方法看api或者去论坛,这里不再赘述)。

情况二:如果模拟器运行正常而真机调试时候出现类似错误。
那是因为你的真机中system/framework下缺少文件com.google.android.maps.jar。
解决办法:

1、进入你设备的shell
adb -d shell (记着参数 -d)
2、给system挂在读写权限
这里不同的机器稍有不同,大家可以如下看看那中情况合适你的机器:
mount -o rw -t yaffs2 /dev/block/mtdblock3 /system
或者
mount -o remount,rw /dev/root /
对于我的机器:
我的是用了cm的系统的。这么做:
mount -o remount,rw /dev/block/mtdblock3 /system

3、从emulator的system/framework文件夹下导出com.google.android.maps.jar ,可以直接通过ddms导出、或者通过adb

命令导出:
adb -d push com.google.android.maps.jar /system/framework/

或者

adb push com.google.android.maps.jar /system/framework/com.google.android.maps.jar

adb push com.google.android.gtalkservice.jar /system/framework/com.google.android.gtalkservice.jar
4、给这个文件增加权限:
这里两种做法:
(1)把真机中/etc/permissions/platform.xml文件取出来编辑:



中末尾处增加:

然后再把这个platform.xml文件push回真机的/etc/permissions文件夹中.
(2)对于2.2以后的版本亦可这么做:你可以直接直接pull出你emulator的

/etc/permissions/com.google.android.maps.xml 然后push进你真机的 /etc/permissions

5、重启手机,此时你就可以调试你的android服务了。如果不行再重启一次就好。

阅读(1633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~