【问题标题】:Google Maps Android API v2谷歌地图 Android API v2
【发布时间】:2014-01-15 23:55:34
【问题描述】:

我想在我的应用程序中实现谷歌地图,所以我尝试了这个 Google Maps v2

但是当我使用这段代码时:

<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

我收到此错误:

错误:错误:找不到与给定名称匹配的资源(在“值”处,值为“@integer/” google_play_services_version')。

我有

  • 导入了 google-play-services.jar
  • 更新了 SDK 管理器中的所有内容

毕竟还是不行,我将 libproject\google-play-services_lib\res\values\version.xml 导入到我的项目中

这个错误消失了,但是如果我在我的设备上运行项目,logcat 会显示这个错误消息

12-28 17:22:29.850:E/AndroidRuntime(28040):致命异常:主要 12-28 17:22:29.850: E/AndroidRuntime(28040): java.lang.RuntimeException: 无法启动活动 ComponentInfo{#############.MainActivity}: android.view.InflateException : 二进制 XML 文件第 2 行:膨胀类片段时出错 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread.access$600(ActivityThread.java:127) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.os.Handler.dispatchMessage(Handler.java:99) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.os.Looper.loop(Looper.java:137) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread.main(ActivityThread.java:4499) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 java.lang.reflect.Method.invokeNative(Native Method) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 java.lang.reflect.Method.invoke(Method.java:511) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 12-28 17:22:29.850: E/AndroidRuntime(28040): at dalvik.system.NativeStart.main(Native Method) 12-28 17:22:29.850:E/AndroidRuntime(28040):原因:android.view.InflateException:二进制 XML 文件第 2 行:膨胀类片段时出错 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:466) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:396) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:352) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Activity.setContentView(Activity.java:2007) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在#########.MainActivity.onCreate(MainActivity.java:11) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Activity.performCreate(Activity.java:4637) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 11 更多 12-28 17:22:29.850:E/AndroidRuntime(28040):原因:android.app.Fragment$InstantiationException:无法实例化片段 com.google.android.gms.maps.MapFragment:确保类名存在,是公开的,并且有一个公开的空构造函数 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Fragment.instantiate(Fragment.java:581) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Fragment.instantiate(Fragment.java:549) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Activity.onCreateView(Activity.java:4407) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 20 更多 12-28 17:22:29.850: E/AndroidRuntime(28040): 由: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:501) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:461) 12-28 17:22:29.850: E/AndroidRuntime(28040): 在 android.app.Fragment.instantiate(Fragment.java:571) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 23 更多

我有自己的 API 密钥,并且包的名称是正确的。 也许我的 eclipse 或 android sdk 有问题!?

【问题讨论】:

  • 告诉我你在右击项目、属性并转到 android 后看到了什么。在第二帧(是库)中,是否有绿色的右标记或红色的 x 标记? - 当然假设您已经添加了 google-play-services 库

标签: java android eclipse google-maps android-fragments


【解决方案1】:

导入 google-play-services 项目后,您必须像这样将这个库项目添加到您的应用程序中-

右击项目 --> 属性 --> Android --> 添加 --> 选择 google-play-services --> 确定 --> 应用 --> 确定

【讨论】:

  • 我已经导入了项目,但是有一个红色的 x(我忽略了它-.-)非常感谢!!!我很生气,我创建了一个 stackoverflow 帐户:D
  • 您必须将您的项目和 google-play-services 项目放在同一个工作空间中。确保它。
【解决方案2】:

你是怎么导入的?您必须将 google-play-services 作为库添加到您的项目中。

【讨论】:

  • 右键项目-->属性-->java构建路径-->库-->添加外部jars...
  • 右键 -> 属性 -> android -> Libray 部分 -> 添加(选择 google_play 服务,必须先导入到您的工作区)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多