我在这里看到其他线程有类似的症状,但没有一个答案解决了我的问题。我正在关注谷歌地图视图教程http://developer.android.com/resources/tutorials/views/hello-mapview.html并完全遵循所有方向,我不断收到此错误.. java.lang.ClassNotFoundException:com.goodintechnology.maps.Mymap in loader dalvik.system.PathClassLoader [/数据/应用/ com.goodintechnology.maps-1.apk]
我从头开始很多次,但每次,只要我将Activity更改为MapActivity,就会抛出错误。应用目标是Google API 2.2,模拟器是相同的,启用了GPS。我已经尝试在Applications语句之前,之后和之中放置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 :(得分:25)
<uses-library android:name="com.google.android.maps" />
必须在&lt; application&gt;范围内&LT; /应用程序&gt;
你说你试过了,但你现在如何拥有它,它不会有任何机会,所以先改变它。
答案 1 :(得分:15)
看起来你的项目文件夹中没有包含maps.jar。
首先将以下行作为应用程序的子项放在清单文件中
<uses-library android:name="com.google.android.maps" />
然后右键单击您的项目文件夹 - &gt;属性 - &gt; Android - &gt;在“项目构建目标”中,检查是否仅为Google API选中了复选框。 如果没有检查。这将在您的项目中添加maps.jar,然后您的项目将了解什么是MapActivity .. :)
答案 2 :(得分:4)
您是否下载了正在使用的SDK版本的Google API插件?
Google API未与标准SDK一起打包。您必须使用AVD Manager下载它们。
修改 - 它会将<uses-library ... />
添加为<application>
代码的子。
这意味着将其放在<{strong> <application>
标记之后<{1}}之前的行。
答案 3 :(得分:0)
在创建新的Android虚拟设备之前,我遇到了完全相同的问题。
确保您创建了一个也包含Google API的虚拟Android设备..只需在SDK中使用API并将运行目标设置为包含Google API的版本是不够的,您还需要确保您的模拟器虚拟设备也安装了Android SDK中的Google API。
答案 4 :(得分:0)
我修复了在其他位置安装eclipse并安装Android插件(ADT)的错误。这对我有用。