MapActivity在MapActivity中找不到类
我在这里看到过类似症状的其他线程,但没有一个答案解决了我的问题。我正在关注谷歌地图视图教程,http://developer.android.com/resources/tutorials/views/hello-mapview.html,并严格遵循所有方向,我不断收到此错误.. java.lang.ClassNotFoundException:在装载器中的com.goodintechnology.maps.Mymap dalvik.system.PathClassLoader [/ data/app/com.goodintechnology.maps-1.apk]MapActivity在MapActivity中找不到类
我从头开始多次,但每次,只要我将Activity更改为MapActivity,就会抛出错误。应用程序目标是Google API 2.2,仿真器是相同的,启用了GPS。我已经尝试在应用程序声明之前,之后和之后放置uses-library声明,但这并没有改变任何内容。我甚至试图将声明垂直放在清单中。所以,大约8小时后,我把它给你们所有人。下面的代码:
AndroidManifest.xml
<uses-library android:name="com.google.android.maps" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Mymap"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
和布局的main.xml
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="My key that was generated on google is here. trust me"
/>
</LinearLayout>
和类MYMAP
package com.goodintechnology.maps;
import com.google.android.maps.MapActivity;
import android.os.Bundle;
public class Mymap extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
如前所述,这是从谷歌地图视图教程直接。
您是否为您使用的SDK版本下载了Google API附加组件?
Google API未与标准SDK一起打包。您必须使用AVD Manager下载它们。
编辑 - 它说的<uses-library ... />
添加为孩子<application>
标签。
这意味着要将它放在<application>
标签之后但</application>
之前。
看起来像maps.jar不包含在您的项目文件夹中。
首先把下面的行作为应用程序的孩子在你的清单文件
<uses-library android:name="com.google.android.maps" />
对你的项目文件夹右键后 - >属性 - > Android的 - >在项目建设目标考核复选框是否已仅适用于Google API。 如果不检查它。这将在您的项目中添加maps.jar,然后您的项目将理解什么是MapActivity ..:)
我有完全相同的问题,直到我创建一个新的android虚拟设备。
请确保您创建一个虚拟Android设备,其中也包含Google API。只需将SDK中的API和运行目标设置为包含Google API的版本是不够的,您还可以需要确保您的模拟器虚拟设备也安装了Android SDK中的Google API。
我已经修复了在另一个位置安装eclipse并安装Android插件(ADT)的错误。这对我有效。
你可以用你的代码发布完整的跟踪吗?也许会有一个提示呢? – Sephy 2011-03-06 23:07:52
你有清单中的uses-sdk吗?正如下面的两个答案所说,使用libarary必须位于完全为我工作的应用程序标记 – SteelBytes 2011-03-07 02:21:05