6 Stimmen

Mapview in MapActivity Klasse nicht gefunden

Ich habe hier andere Threads mit ähnlichen Symptomen gesehen, aber keine der Antworten hat mein Problem gelöst. Ich folge der Anleitung für die Google-Kartenansicht, http://developer.Android.com/resources/tutorials/views/hello-mapview.html und nach allen Anweisungen genau, ich halte diesen Fehler zu erhalten .. java.lang.ClassNotFoundException: com.goodintechnology.maps.Mymap in Loader dalvik.system.PathClassLoader[/data/app/com.goodintechnology.maps-1.apk]

Ich habe viele Male von vorne angefangen, aber jedes Mal, sobald ich die Aktivität in MapActivity ändere, wird der Fehler ausgelöst. Die App Ziel ist Google API 2.2, und der Emulator ist die gleiche, mit GPS aktiviert. Ich habe versucht, die uses-library-Anweisung vor, nach und in die Applications-Anweisung zu setzen, aber das hat nichts geändert. Ich habe sogar versucht, die Anweisung vertikal im Manifest zu platzieren. Nachdem ich also etwa 8 Stunden damit herumgespielt habe, frage ich Sie alle. Hier ist der Code:

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>

und das Layout 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>

Und die Klasse 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;
}
}

Wie bereits erwähnt, ist dies alles direkt aus dem Google Map View-Tutorial.

25voto

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

muss innerhalb von <Anwendung> </anwendung> liegen

Sie sagten, Sie hätten das versucht, aber so wie Sie es jetzt haben, wird es nicht funktionieren, also ändern Sie das zuerst.

15voto

Harshad Punkte 7806

Es sieht so aus, als ob maps.jar nicht in Ihrem Projektordner enthalten ist.

Fügen Sie zunächst folgende Zeile als Kind der Anwendung in Ihre Manifestdatei ein

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

Klicken Sie anschließend mit der rechten Maustaste auf Ihren Projektordner -> Eigenschaften -> Android -> Prüfen Sie unter Project Build Target, ob das Kontrollkästchen für Google API only aktiviert wurde. Wenn nicht, markieren Sie es. Dies wird maps.jar in Ihrem Projekt hinzufügen und dann wird Ihr Projekt verstehen, was MapActivity ist :)

4voto

Matthew Willis Punkte 44427

Haben Sie das Google API Add-on für die von Ihnen verwendete SDK-Version heruntergeladen?

Die Google-APIs sind nicht im Lieferumfang des Standard-SDK enthalten. Sie müssen sie mit dem AVD Manager herunterladen.

Editar - heißt es, dass man die <uses-library ... /> als Kind der <application> Tag.

Das bedeutet, es aufs Spiel zu setzen nach die <application> Tag, aber vor </application> .

0voto

Jesse Finnerty Punkte 221

Ich hatte genau das gleiche Problem, bis ich ein neues virtuelles Android-Gerät erstellt habe.

Stellen Sie sicher, dass Sie ein virtuelles Android-Gerät erstellen, das auch die Google-APIs enthält. Es reicht nicht aus, die APIs im SDK zu haben und das Ausführungsziel auf eine Version mit Google-APIs zu setzen.

0voto

claudio_otto Punkte 1

Ich habe den Fehler behoben, indem ich Eclipse an einem anderen Ort installiert und Android-Plugins (ADT) installiert habe. Das hat bei mir funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X