我的应用程序只包含一个带叠加层的地图,但是当我创建我的MapView时,我的应用程序崩溃了一个NoClassDefFoundError。我正在使用与我的目标匹配的Google API AVD,但显然我仍然做错了。有什么想法吗?
编辑:如果它有帮助,我的NoClassDefFoundError抱怨[generic]
。我可以理解为什么[generic]
没有课程定义,但我不确定它的来源。
此外,稍后的ClassNotFoundException会抱怨com.google.android.maps.MapView in loader dalvik.system.PathClassLoader[/data/app/mathphreak.cellmap-1.apk]
,然后继续为java.lang.NoClassDefFoundError: com.google.android.maps.MapView
导致不同的NoClassDefFoundError。
答案 0 :(得分:50)
确保您在应用程序清单中包含以下行:
<uses-library android:required="true" android:name="com.google.android.maps" />
和 确保它位于正确的位置 。我的问题(有类似的错误消息)是我把它放在那里,但就像使用权限的东西,它只是在根元素清单下,实际上 uses-library元素假设是放置在应用程序元素下 。如果我不够清楚,请参阅该部分:从Sameers link配置应用程序清单。
答案 1 :(得分:12)
我遇到了同样的问题,由于Timo Lehto的答案,我把它修好了,但是把这个字符串
<uses-library android:required="true" android:name="com.google.android.maps" />
打开应用程序标签后(开头)
<application
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library
android:name="com.google.android.maps"
android:required="true" />
<activity ...
答案 2 :(得分:2)
我遇到了同样的问题,我在清单中解决了这个问题:
<activity android:name=".GpsActivity" ></activity>
到
<activity android:name="GpsActivity" ></activity>
“点”是差异
答案 3 :(得分:1)
可能有两件事。
i)确保已在AndroidManifest.xml类中定义了所有Activity类。
ii)确保使用“Google API”而非“Android 2.x”编译Android项目,如果仅使用Google API进行编译,则会添加Google地图类。
答案 4 :(得分:1)
还有一件事需要检查,
希望,这可能适用于某个人。