java - 谷歌地图 Android API v2

标签 java android eclipse google-maps android-fragments

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

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

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

我收到此错误:

error: Error: No resource found that matches the given name (at 'value' with value '@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): FATAL EXCEPTION: main 12-28 17:22:29.850: E/AndroidRuntime(28040): java.lang.RuntimeException: Unable to start activity ComponentInfo{#############.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread.access$600(ActivityThread.java:127) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.os.Handler.dispatchMessage(Handler.java:99) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.os.Looper.loop(Looper.java:137) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread.main(ActivityThread.java:4499) 12-28 17:22:29.850: E/AndroidRuntime(28040): at java.lang.reflect.Method.invokeNative(Native Method) 12-28 17:22:29.850: E/AndroidRuntime(28040): at java.lang.reflect.Method.invoke(Method.java:511) 12-28 17:22:29.850: E/AndroidRuntime(28040): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788) 12-28 17:22:29.850: E/AndroidRuntime(28040): at 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): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 12-28 17:22:29.850: E/AndroidRuntime(28040): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Activity.setContentView(Activity.java:2007) 12-28 17:22:29.850: E/AndroidRuntime(28040): at #########.MainActivity.onCreate(MainActivity.java:11) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Activity.performCreate(Activity.java:4637) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 11 more 12-28 17:22:29.850: E/AndroidRuntime(28040): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Fragment.instantiate(Fragment.java:581) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Fragment.instantiate(Fragment.java:549) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Activity.onCreateView(Activity.java:4407) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 20 more 12-28 17:22:29.850: E/AndroidRuntime(28040): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment 12-28 17:22:29.850: E/AndroidRuntime(28040): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 12-28 17:22:29.850: E/AndroidRuntime(28040): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 12-28 17:22:29.850: E/AndroidRuntime(28040): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 12-28 17:22:29.850: E/AndroidRuntime(28040): at android.app.Fragment.instantiate(Fragment.java:571) 12-28 17:22:29.850: E/AndroidRuntime(28040): ... 23 more

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

最佳答案

导入 google-play-services 项目后,您必须将此库项目添加到您的应用程序中,如下所示 -

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

关于java - 谷歌地图 Android API v2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816809/

相关文章:

Java HTTPUrlConnection 返回 500 状态码

java.lang.ClassNotFoundException 与 log4j

java - 如何使用 JQuery 附加 servlet 的输出

java - Android ListView NullPointerException 使用 pulldowntoRefresh?

Eclipse Kepler 和 JBoss Wildfly 热部署

java - SWT 堆积条形图显示总值

android - 我如何强制 ViewPager 重新创建它们的 fragment ?

java - React Native - 如何将可读数组从 React Native 映射到 Android 中的 native 模块?

Android - 与 ipad 相同的弹出 Controller

java - 如何为 Eclipse 中的变量更改设置断点?