安装带Google Maps的程序

来源:互联网 发布:易语言数据采集 编辑:程序博客网 时间:2024/05/21 11:27

开始的时候按照这个帖子试了下,不行 http://1225682794.iteye.com/blog/805689

-----------------------------------------

INSTALL_FAILED_MISSING_SHARED_LIBRARY错误的解决

在做一个含有Google map的工程,出现INSTALL_FAILED_MISSING_SHARED_LIBRARY错误。

 

1、检查了AndroidManifest.xml,已经写了<uses-library android:name="com.google.android.maps" />

2、检查了apikey也是正确,Libraries里面也增加了maps.jar,但是运行还是报INSTALL_FAILED_MISSING_SHARED_LIBRARY错误错误。

3、最后终于发现不能手动增加maps.jar,而要将工程换成Google APIs【Android2.0】而不是Android2.0,因为Google APIs【Android2.0】中间含有maps.jar。转换后一切ok了。

-------------------------------------------

 

后来google了这个帖子,OK了 http://blog.163.com/gobby_1110/blog/static/29281715201010146177879/

ps:

1,我只从模拟器中找到并提出了maps.jar,permissions也只添加了 android.test.runner和com.google.android.maps

2,我是用乐phone测试的,能够安装了,却报ClassNotFoundException!!!  待解决、、、、

3,貌似需要设置经纬度什么的,但是模拟器在运行控制中可以设,真机中还是不知道如何做,知道的大侠赐教。。

代码中设置经纬度的如下:

String[] MockLoc = str.split(",");

 

Location location = new Location(mocLocationProvider);   

Double lat = Double.valueOf(MockLoc[0]);

 

location.setLatitude(lat);

 

Double longi = Double.valueOf(MockLoc[1]);

 

location.setLongitude(longi);

 

Double alti = Double.valueOf(MockLoc[2]);

 

location.setAltitude(alti);

"android.permission.ACCESS_MOCK_LOCATION"

-==========================

GPS无法在Odroid T开发板上正常工作

这个问题等到周一和partner碰头了再解决

 

然后遇到的第二个问题:

运用了Google Maps的程序 在开发板中测试都无法安装 并且报错:

Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]

 

从昨天开始解决这个问题 论坛有说是平台不支持的 有说是其他问题的

尝试了解决方案都未果

 

今天无奈之下查找了Android开发的QQ群

运气很好的是加入了一个群并且认识了“龙虾哥”

龙虾哥 上海人氏 硕士毕业 目前和一个朋友自行开发Android和iphone项目挣钱

他在听了我遇到的问题之后开始帮我想解决方法

方案1:在项目根目录下来添加libs文件夹以及armeabi和armeabi-v7a两个子文件夹

(因为他是在C平台下开发,然后再用NDK导入)

对比emulator和真机的system/lib文件夹下面的文件

把emulator上有而真机上没有的.os文件导出 并且放入之前我们创建的armeabi和armeabi-v7a两个文件夹

运行 结果失败

 

然后继续寻找解决方案

查看DDMS中的Logcat

红字标出程序无法加载未知共享库com.google.android.maps.jar

研究中发现 真机中 system/framework文件夹下缺少两个重要文件:

com.google.android.maps.jar

com.google.android.gtalkservice.jar

 

开始解决:

Enter the shell of your device.

  • adb -d shell


 Remount the system partition with read/write permissions.

  • mount -o rw -t yaffs2 /dev/block/mtdblock3 /system


For me the remount was a bit different. The following did the trick

  • mount -o remount,rw /dev/root /

 

1.从emulator的system/framework文件夹下导出这两个文件

1.1 直接通过DDMS导出

1.2 通过adb命令导出

2. 把导出的这两个文件导入Odroid 7的system/framework文件夹下

2.1 直接通过DDMS导出

2.2 通过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

3. 给这两个文件添加权限

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

<permissions>
...
<!-- This is a list of all the libraries available for application code to link against. -->
<library name="android.awt" file="/system/framework/android.awt.jar"/>
<library name="android.test.runner" file="/system/framework/android.test.runner.jar"/>
<library name="com.android.im.plugin" file="/system/framework/com.android.im.plugin.jar"/>
<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>
<library name="com.google.android.gtalkservice" file="/system/framework/com.google.android.gtalkservice.jar"/>
</permissions>
然后再把这个platform.xml文件push回真机的/etc/permissions文件夹中

4.重启真机硬件

并且

  • adb stop

 

  • adb start

5.尝试安装带有Google Maps的程序

期间又重启了一次开发板(真机)

(如果没有解决再次重启试试)

问题解决

 

Ps:11月23日补充:

之前用的开发板是Odroid T,今天换了最新版本的Odroid 7

Odroid 7安装的Android版本是2.2   同样不带地图

2.2版本与之前的版本略有不同,大家拷贝是记得必须得用2.2版本的emulator中的

com.google.android.maps.jar

注意看2,2版本的emulator的system/framework

你会发现已经没有了com.google.android.gtalkservice.jar

所以我们只需要把com.google.android.maps.jar push进你的真机文件夹即可

然后转入/etc/permissions

与之前版本不一样,Android2.2不再在platform.xml下更改

而是直接pull出你emulator的  /etc/permissions/com.google.android.maps.xml

然后push进你真机的 /etc/permissions

然后重启真机,这样就可以

-============================================================================

 


 

 

原创粉丝点击