0

我正在尝试实现google maps android api v2 example的最基本示例。但它因错误而崩溃:java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable。

我已经设置了 google api 并查看了 stackoverflow 帖子,例如:

但他们的问题与我的略有不同。

你能指出我正确的方向吗?我正在使用 android 2.2 并希望使用新的地图在我的应用程序中使用片段;这样我就可以获得一些功能,例如苹果的 uinavigation 以在弹出活动中推送新视图。

谢谢。

谢谢,您是如何获得附件中显示的 png 的? google play 服务在我的包资源管理器中显示为引用库;我确实添加了它;这是我的日志:

01-16 06:23:55.087: E/AndroidRuntime(305): FATAL EXCEPTION: main
01-16 06:23:55.087: E/AndroidRuntime(305): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:271)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.Activity.setContentView(Activity.java:1647)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.example.afis.MainActivity.onCreate(MainActivity.java:13)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.os.Looper.loop(Looper.java:123)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.main(ActivityThread.java:4627)
01-16 06:23:55.087: E/AndroidRuntime(305):  at java.lang.reflect.Method.invokeNative(Native Method)
01-16 06:23:55.087: E/AndroidRuntime(305):  at java.lang.reflect.Method.invoke(Method.java:521)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-16 06:23:55.087: E/AndroidRuntime(305):  at dalvik.system.NativeStart.main(Native Method)
01-16 06:23:55.097: W/ActivityManager(59):   Force finishing activity com.example.afis/.MainActivity
01-16 06:23:55.607: W/ActivityManager(59): Activity pause timeout for HistoryRecord{44ee9110 com.example.afis/.MainActivity}
4

3 回答 3

0

我通过在导入 Google Play 服务库时选中“将项目复制到工作区”解决了这个错误。更多信息在这里:http: //developer.android.com/google/play-services/setup.html

于 2013-06-22T07:26:12.870 回答
0

请检查您的项目中是否存在包含“android-support-v4.jar”的“libs”文件夹。因为您使用的是 Android 2.2,所以您的项目根目录中必须有“libs”文件夹。如果没有,只需将该 jar 文件复制到“libs”文件夹中即可。

“android-support-v4.jar”位于目录下的“/extras/android/compatibility/v4/android-support-v4.jar”中。

在运行您的项目之前,您必须将您的项目构建目标设置为“Google APIs”,而不是 Android xx 版本:选择您的项目并在 Eclipse 中单击项目 > 属性 > 项目构建目标并选择任何“Google APIs”,然后运行您的手机上的项目。如果您使用模拟器,还必须将模拟器的 AVD 设置为任何“Google APIs”。

再一次,您不需要创建新的 Google Maps API 密钥来测试您的项目,只需使用默认提供的 API 密钥,在您的 Google API 控制台中显示为“浏览器应用程序的密钥(带引用者)” .

于 2013-01-16T10:02:12.447 回答
0
  1. 使用 Android SDK Manager 下载“google play services”

  2. 将其导入您的工作区(路径:android-sdk root/extras/google/google_play_service/libproject/google-play-service_lib)

  3. 项目属性 -> android -> 库添加 google-play-service_lib

  4. Build path -> Order and Export 检查Android私有库

于 2013-05-30T10:20:03.937 回答