`
limingjia37544214
  • 浏览: 46656 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

关于谷歌地图的问题:requires unavailable shared library com.google.android.maps

 
阅读更多
关于谷歌地图和百度地图的抉择:

补充:http://news.3snews.net/industry/20120305/18896.shtml


经过调研(或许不够准确,但目前我得到的信息是这样的)
发现大部分国内Android手机制造商在操作系统中删除了谷歌地图的文件,导致建立Google APIs Android Project的时候,无法install到Android手机上。
提示:“Package com.lmj.demo requires unavailable shared library com.google.android.maps; failing!

原因是手机系统中缺少两个文件:
/system/framework中少了com.google.android.maps.jar文件,
/system/etc/permissions/下少了com.google.android.maps.xml文件。


解决办法:
需要拷贝缺少的文件到相应的目录下。
缺陷:
有的Android机型,例如乐Pad,没有权限拷贝文件至该目录。

因此,只能暂时选择百度地图。如果大家有好的方法和建议,希望告诉我,谢谢!

网上有一个比较全的拷贝文件的方法,大家可以借鉴:

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


安装基于google map的应用问题解决
四14
Posted by 寻道者 in Android | No Comments
本来我是写过一篇关于如果安装基于google map应用的文章的,见在Android系统上安装基于google map的应用出错
但今天到手的乐pad竟然不让我把这个文件放到指定的目录,提示权限不够。我只能提权操作了,费了一个下午的时间。下面总结一下:
先是安装“Root System Tool”,这里下载
接着,有了Root权限后,修改/system/framework的权限,命令是:
chmod 777 /system/framework
chmod 777 /system/etc/permissions
然后使用adb命令复制文件,命令是:
adb -d push com.google.android.maps.jar /system/framework/com.google.android.maps.jar
adb -d push com.google.android.maps.xml /system/etc/permissions/com.google.android.maps.xml
现在可以安装您的基于google map的应用了,这样就不会提示错误了
requires unavailable shared library com.google.android.maps; failing!
最后,将文件夹的权限修改回来,卸载掉“Root System Tool”。权限改回来的命令是:
chmod 755 /system/framework
chmod 755 /system/etc/permissions
在Android系统上安装基于google map的应用出错
四13
Posted by 寻道者 in Android | No Comments
requires unavailable shared library com.google.android.maps; failing!
把下面两个文件放在对应系统目录下:
com.google.android.maps.jar ==> system/framework/
com.google.android.maps.xml ==> system/etc/permissions/
Android终端支持google map
三18
Posted by 寻道者 in Android | No Comments
错误如下:
03-18 17:34:09.888: ERROR/PackageManager(94): Package requires unavailable shared library com.google.android.maps; failing!
解决方法:
1. 在Android中,额外支持Google Add-ons(Google Maps),需要将如下档案(从标准的SDK中pull出来的,也可以从GPhone中pull出来)打包进System.img。Google Add-ons只需要1–2,Goolge Maps(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 Cupcake Release(经测试,在donut平台同样适用。)
1)编译源码(为了生成out/target目录中Android最原始的东西)
2)将以上文件加入out/target/product/generic相应目录,在源码根目录使用make snod打包,获得新的system.img
转自:Android Map开发基础知识学习笔记
点击Android google map显示坐标
九27
Posted by 寻道者 in Android | No Comments
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == 1) {
GeoPoint p = myMapView.getProjection().fromPixels((int) event.getX(), (int) event.getY());

Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(p.getLatitudeE6() / 1E6, p.getLongitudeE6() / 1E6, 1);

StringBuilder add = new StringBuilder();
if (addresses.size() > 0) {
for (int i = 0; i < addresses.get(0).getMaxAddressLineIndex(); i++)
add.append(addresses.get(0).getAddressLine(i) + "/n");
}
add.append(p.getLatitudeE6() / 1E6 + "," + p.getLongitudeE6() / 1E6);
Toast.makeText(getBaseContext(), add, Toast.LENGTH_LONG).show();
} catch (IOException e) {
Log.e("HangzhouBike", e.getMessage());
}
return true;
} else
return false;
}
通过Intent调用google map时显示指定坐标的标记
七19
Posted by 寻道者 in Android | No Comments
在使用网页版google map的时候,可以在指定的坐标上加标记即marker,就是那个红色的标记。但在android手机上,通过Intent调用google map时,却无法将指定坐标的标记显示在地图上,找了很久,终于找到了方法。
String title="杭州花圃",lat="30.2451655784728",lng="120.130562782287";
Uri mapUri = Uri.parse("http://maps.google.com/maps?q=" +lat + "," + lng + "(" + title + ")&z=21&cbp=1");
Intent i = new Intent(Intent.ACTION_VIEW, mapUri);
startActivity(i);
以上代码就是在指定的经纬度上显示标记名称,即在(120.130562782287,30.2451655784728)显示杭州花圃。z=21是显示级别。
通过以上代码,就能够在android google map上显示自定义坐标和标记了。
下载android eclipse adt plugin地址
五26
Posted by 寻道者 in Android | No Comments
直接将该http://dl-ssl.google.com/Android/eclipse地址复制到eclipse Software Updates进行更新就OK。
Android通过gps获取当前的城市街道与误差的代码
五13
Posted by 寻道者 in Android | No Comments
一般来讲,通过gps获取到经纬度坐标以后,要继续深入的获取该经纬度坐标的城市、街道与精度(误差)等信息。
private String getAddressbyGeoPoint() {
// 自经纬度取得地址
StringBuilder sb = new StringBuilder();
Geocoder gc = new Geocoder(getBaseContext(), Locale.getDefault());
List<Address> lstAddr = null;
try {
lstAddr = gc.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
} catch (IOException e) {
Log.e("HangzhouBike", e.getMessage());
}
if (lstAddr != null && lstAddr.size() > 0) {
Address addr = lstAddr.get(0);
if (addr.getAddressLine(1) != null)
sb.append(addr.getAddressLine(1)).append(" ");
if (addr.getAddressLine(2) != null)
sb.append(addr.getAddressLine(2)).append(" ");
sb.append(" ±" + location.getAccuracy() + "米");
}
return sb.toString();
}
Android判断是否有可用网络的代码
五13
Posted by 寻道者 in Android | No Comments
在开发基于网络的应用的时候,需要判断是否有可用的网络,如果没有开启WIFI或者APN的话,是无法连接网络的。以下代码是判断是否有网络,以及没有网络的话,打开系统设置进行开启。
private boolean CheckNetwork() {
boolean flag = false;
ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (cwjManager.getActiveNetworkInfo() != null)
flag = cwjManager.getActiveNetworkInfo().isAvailable();
if (!flag) {
Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络").setMessage(getResources().getString("请开启GPRS或WIFI网络连接"));
b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Intent mIntent = new Intent("/");
ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
}
}).setNeutralButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
}).create();
b.show();
}

return flag;
}
主要是通过Intent来调用开启网络的Activity。
  • 大小: 16.7 KB
分享到:
评论

相关推荐

    This application requires Visual Studio 2013 Redistributable.

    MySql5.7.20安装过程中报错 This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again. 的解决办法.报错如下: 1: Action 10:59:21: ...

    v7包解决importandroid.support.annotation.RequiresApi

    在Android开发中,`import android.support.annotation.RequiresApi`是一个经常使用的注解,它用于标记一个方法或类,表明这个元素只能在特定版本的Android API级别及以上才能被使用。`v7包`是Android Support ...

    java.lang.ClassNotFoundException异常的解决1

    3. **使用模块系统(Java 9+)**:如果你的项目已经迁移到了Java 9的模块系统,你可以通过`requires`语句在模块定义中明确声明对JAXB的依赖。例如,在`module-info.java`文件中添加: ```java module ...

    Android错误解决方法大集合

    三、This Android SDK requires Android Developer Toolkit version 20.0.0 or above 错误 该错误是由于 Eclipse 中的 ADT 版本过低所致,解决方法是将插件版本改为当前版本,例如从 20.0.0 改为 18.0.0,然后重新...

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...

    tomcat启动的问题--apr

    信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Java\jre1.5.0_11\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\...

    InsightSphinxExamples-5.0.0.zip

    PDF generation requires a TeX distribution like `TeX Live`_ or MiKTeX_. Development setup ------------------ Run the bash script ``SetupForDevelopment.sh``:: $ ./Utilities/SetupForDevelopment.sh ...

    Get My MSL1.3.apk

    I am currently collecting data on which devices it will and will not work oh, and manually excluding devices which will not work on so it does not show up in their android market.It will work on most...

    android-maps-utils:适用于Android实用工具库的Maps SDK

    适用于Android实用程序库的Maps SDK描述该...要求Android API 15级以上通过Google Play服务或库生成的安装dependencies { // Utilities for Maps SDK for Android (requires Google Play Services) implementation ' ...

    MobileIron Standalone Sentry Installation Guide

    A Standalone Sentry deployment requires that you have already installed one of the MobileIron Enterprise Mobility Management (EMM) platforms, MobileIron Core or MobileIron Cloud. With input from ...

    compat-libgmp-4.3.1-1.sl7.x86_64.rpm

    解决包依赖问题: Requires: libmpfr.so.1()(64bit) Requires: libgmp.so.3()(64bit)

    ApkIDE3.3.0.0作者原版,解决常见apk打包安装问题.rar

    AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersionCodename' in package 'android' 解决方法:在AndroidManifest.xml中删除'compileSdkVersionCodename相关的。 二、...

    containerd.io-1.2.6-3.3.el7.x86_64.rar

    yum -y install docker-ce,安装高版本docke-ce,报错Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io &gt;= 1.2.2-3, but none of the providers can be installed,意思就是 containerd....

    Android配置相关,eclipse配置失败问题

    - **ADT下载地址**:[https://dl-ssl.google.com/android/eclipse/](https://dl-ssl.google.com/android/eclipse/) - **Eclipse IDE for Java EE Developers下载地址**:...

    Android代码-thread-weaver

    This is Weaver, a framework for writing multi-threaded Unit Tests in Java. Documentation is available in the docs directory, ... (http://code.google.com/p/objenesis). Version 1.0 or greater. Cglib. (htt

    glibc-2.17-307.el7.1.i686_libc文件_依赖glibc安装_源码

    标题中的“glibc-2.17-307.el7.1.i686_libc文件_依赖glibc安装_源码”指的是Linux系统中一个重要的动态链接库——GNU C Library(通常简称为glibc)的一个特定版本。glibc是Linux操作系统下最基础、最核心的库,为...

    安装Apache提示缺少 libapr-1.so.0与libaprutil-1完美解决

    在IT领域,尤其是在服务器配置与管理中,Apache作为全球广泛使用的Web服务器软件之一,其安装与配置过程中的问题解决显得尤为重要。本文将深入探讨“安装Apache提示缺少 libapr-1.so.0与libaprutil-1完美解决”的...

    Google Apps Sync for Microsoft Outlook

    在(Google App Sync)官网(https://tools.google.com/dlpage/gappssync)下载提示为“This product is not available in your country”. 特此备份。 此压缩包包含三个安装软件: - googleappssyncsetup[includes ...

    protobuf-dt com.google.eclipse.protobuf_2.3.2.201609161849.jar

    The descriptor.proto file deployed with 2.3.2.201609161849 seems to contain ...In the end I injected in an up-to-date version of the descriptor.proto file into the plugin jar under .p2\pool\plugins\...

    eclipse安装activiti报错(requires 'org.eclipse.emf 2.6.0' but it could not be found)

    eclipse安装activiti报错,缺少jar包。...requires 'org.eclipse.emf 2.6.0' but it could not be found.将该jar包拷贝到自己的eclipse的plugin文件夹下面,重启eclipse再次安装activiti插件就可以了。

Global site tag (gtag.js) - Google Analytics