MapActivity在MapActivity中找不到类

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; 
} 
} 

如前所述,这是从谷歌地图视图教程直接。

+0

你可以用你的代码发布完整的跟踪吗?也许会有一个提示呢? – Sephy 2011-03-06 23:07:52

+0

你有清单中的uses-sdk吗?正如下面的两个答案所说,使用libarary必须位于完全为我工作的应用程序标记 – SteelBytes 2011-03-07 02:21:05

您是否为您使用的SDK版本下载了Google API附加组件?

Google API未与标准SDK一起打包。您必须使用AVD Manager下载它们。

编辑 - 它说的<uses-library ... />添加为孩子<application>标签

这意味着要将它放在<application>标签之后但</application>之前

<uses-library android:name="com.google.android.maps" /> 

必须<应用> < /应用>

内你说你试过了,但你现在是如何拥有它,它wont't任何机会工作,因此改变第一。

+1

+1! – 2011-10-05 16:19:57

+0

+1高超,也为我工作.. – Siddharth 2012-05-12 09:04:43

+0

是的,谢谢你,关键是它必须在应用程序标签内。 – Bek 2012-09-23 01:10:25

看起来像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)的错误。这对我有效。