0

我有一个使用 GoogleMaps API 和 Fragments 支持库的项目。我已经在一项活动中有一张工作地图,所以我知道 API 和库都设置正确。我正在尝试在片段中添加地图作为新活动的一部分。

Activity 扩展了一个 android.support.v4.app.FragmentActivity,xml 文件包含:

<fragment
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:name="com.google.android.gms.maps.SupportMapFragment" />

但是当我运行时,我得到了错误:

01-20 11:58:31.535: ERROR/AndroidRuntime(5389): FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
    at android.app.Activity.setContentView(Activity.java:1835)
    at com.yedidyak.gpsalarm.AddAlarm.onCreate(AddAlarm.java:19)
    at android.app.Activity.performCreate(Activity.java:4465)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    at android.app.ActivityThread.access$600(ActivityThread.java:123)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4424)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)

我能找到的关于这个错误的所有信息都是关于没有正确安装 google-play-lib 作为 jar 和导入的模块,但我已经完成了 - 以及另一个活动中的工作地图。

有任何想法吗?

4

1 回答 1

0

您必须参考 google play services 库,而不是将 jar 和 map_attrs.xml(以及其他文件,如 strings.xml)添加到您的项目中。

如果你这样做了,你也可能不小心删除了 res/values/map_attrs.xml。

于 2013-03-20T20:47:34.743 回答