【问题标题】:Why Google Maps doesn't work on Android API 2 ?为什么 Google 地图不能在 Android API 2 上运行?
【发布时间】:2013-03-09 19:38:19
【问题描述】:

于是我找到了一个教程here。但即使在真实设备上我也无法运行它。我发现了类似的问题here 和其他 20 个页面,所有人都遇到了我的问题,但我不明白为什么 Google 地图不能在 android 上运行。这是 Logcat 中的错误。

03-09 23:06:22.050: D/dalvikvm(28176): Late-enabling CheckJNI
03-09 23:06:22.277: W/dalvikvm(28176): VFY: unable to resolve static field 874 (MapAttrs) in Lcom/google/android/gms/R$styleable;
03-09 23:06:22.277: D/dalvikvm(28176): VFY: replacing opcode 0x62 at 0x000e
03-09 23:06:22.285: D/AndroidRuntime(28176): Shutting down VM
03-09 23:06:22.285: W/dalvikvm(28176): threadid=1: thread exiting with uncaught exception (group=0x40bbe1f8)
03-09 23:06:22.285: E/AndroidRuntime(28176): FATAL EXCEPTION: main
03-09 23:06:22.285: E/AndroidRuntime(28176): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.Activity.onCreateView(Activity.java:4242)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:273)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.Activity.setContentView(Activity.java:1835)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.alirezasaremi.showmap.ShowMapActivity.onCreate(ShowMapActivity.java:23)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.Activity.performCreate(Activity.java:4465)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.ActivityThread.access$600(ActivityThread.java:128)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.os.Looper.loop(Looper.java:137)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at android.app.ActivityThread.main(ActivityThread.java:4514)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at java.lang.reflect.Method.invokeNative(Native Method)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at java.lang.reflect.Method.invoke(Method.java:511)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
03-09 23:06:22.285: E/AndroidRuntime(28176):    at dalvik.system.NativeStart.main(Native Method)

有人可以帮帮我吗?

【问题讨论】:

标签: android google-maps android-maps


【解决方案1】:

我知道这个错误:java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable

您应该将 google play services lib 项目导入工作区,而不仅仅是将外部 jar 添加到项目中。以下是详细信息:

Android developers topic related “将 /extras/google/google_play_services/libproject/google-play-services_lib 库项目复制到您维护 Android 应用程序项目的源代码树中。 如果您使用的是 Eclipse,请将库项目导入您的工作区。点击 File > Import,选择 Android > Existing Android Code into Workspace,然后浏览到库项目的副本以将其导入。"

【讨论】:

    【解决方案2】:

    这是我写的一篇关于如何将 Google Map API V2 添加到您的应用程序的博客文章。 请密切关注前 4 步,以便将 google-play-services 项目添加到您的工作区,然后从您的项目中创建对它的引用:

    Creating Google Map API V2

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2021-01-02
      • 2020-11-28
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      相关资源
      最近更新 更多