Map einbinden - Ich bin zu doof (noclassdeffounderror)

  • Antworten:4
Stefano L.
  • Forum-Beiträge: 3

11.11.2011, 18:14:26 via Website

Moin,

ich habe versucht, Google Maps aus der Google API einzubinden. Wenn ich als Target Device einstelle Google API und nicht Android API, funktioniert das auch. Aber ich will die Map ja in mein eigenes Projekt einbinden. Also ändere ich einfach nur die betreffende Activity auf MapActivity, setze ein paar Parameter und wenn ich dann die Activity starten will, gibt es direkt eine NoclassDefFoundException. Ich sitze da echt schon seit heute morgen dran bis jetzt, habe auch schon unendlich damit verbracht, google durchzuforsten, aber ich krieg das einfach nicht gebacken. Was ich auch schon versucht habe, ist es mit PackageManager zu versuchen. Dann lädt er zumindest die Activity, aber dann kommt sogleich eine SecurityException, die ich nicht gelöst bekomme.

Da mir die Terms of Service von Google etwas zu heikel erscheinen, habe ich auch schon die Open Street Map versucht, aber da kriege ich lustigerweise auch die NoClassDefFound exception, sobald ich die Activity von MapActivity ableite.

Weiß jemand Rat? Was mache ich falsch?

Antworten
Daniel B.
  • Forum-Beiträge: 2

11.11.2011, 19:12:31 via Website

Hey Stefano,
wir hatten heute genau das selbe Problem! Ich vermute jedoch, dass momentan auf Google-Seite etwas schief läuft und es nichts mit deinen Entwicklungs-Künsten zu tun hat ;-) Let's keep fingers crossed, dass die API am Montag wieder funktioniert!
Grüße
Daniel

Edit durch Administrator Jörg Voss, Promo Link entfernt, wir sind keine Kostenlose Link / Werbeplattform. Unterlasse das bitte

— geändert am 30.04.2012, 22:47:22 durch Moderator

Antworten
Florian B.
  • Forum-Beiträge: 284

11.11.2011, 19:19:32 via Website

Um die MapActivity nutzen zu können, musst dein Projekt auf die Android Google API umstellen, anders geht das nicht. Zudem musst du im Manifest im application-Tag folgendes Tag einfügen:

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

Hier steht eigentlich genau was man machen muss --> http://code.google.com/android/add-ons/google-apis/maps-overview.html

Antworten
Stefano L.
  • Forum-Beiträge: 3

11.11.2011, 23:35:24 via Website

Hallo,

so etwas in der Art dachte ich mir zuletzt dann auch. Aber dabei kommt mir eine Frage auf: Muss der User, um die App benutzen zu können, dann irgendwie ein für google angepasstes Android haben oder so? Zumindest muss er doch google maps auf dem Gerät haben, oder? Ich habe mich sowieso schon öfters gewundert, warum google maps im Market erhältlich ist, wo es doch auf meinem Handy sowieso schon vorinstalliert war. Kann es wirklich passieren, dass jemand die App aufruft und eine Class Not Found Exception o. Ä. bekommt, weil er kein Google Maps auf Handy hat?

Antworten
Florian B.
  • Forum-Beiträge: 284

12.11.2011, 17:16:02 via Website

Stefano Lucka
Aber dabei kommt mir eine Frage auf: Muss der User, um die App benutzen zu können, dann irgendwie ein für google angepasstes Android haben oder so? Zumindest muss er doch google maps auf dem Gerät haben, oder?

Ich denke die Google Maps App muss nicht installiert sein. Es ist eher von Bedeutung, dass die Android Version die auf dem Handy läuft, die entsprechenden Google Bibliotheken "com.google.android.maps" enthält. In der Regel sind dann natürlich meist auch alle anderen Google Apps und Dienste auf dem Handy installiert. Hier der Info Text auf der Google APIs Seite (http://code.google.com/android/add-ons/google-apis/index.html):

When you are ready to publish your application, you can deploy it to any Android-powered device that runs a compatible version of the Android platform and that also includes the custom Google components, libraries, and services


Ich habe mich sowieso schon öfters gewundert, warum google maps im Market erhältlich ist, wo es doch auf meinem Handy sowieso schon vorinstalliert war.

Früher waren viele der Google Apps fest in die jeweilige Android Version integriert. Nach und nach wurden die Apps dann aber ausgegliedert und als eigenständige Apps im Market angeboten, um die Wartbarkeit zu verbessern.


Kann es wirklich passieren, dass jemand die App aufruft und eine Class Not Found Exception o. Ä. bekommt, weil er kein Google Maps auf Handy hat?

Wie bereits gesagt, mit der Google Maps App hat das nicht direkt zu tun. Google Maps App wird vermutlich selbst die "com.google.android.maps" Bibliothek verwenden.

Die Zeile
1<uses-library android:name="com.google.android.maps" />
sagt aus, dass die App diese Bibliothek benötigt.

Ich denke dass es zu solch einer Exception kommen könnte, wenn man ein Android Gerät hat, das Google-frei ist und dort die App manuell installiert und ausführt. Das Amazon Kindle Fire Tablet wäre da so ein Kandidat. Hier hat Amazon sämtliche Google Komponenten aus Android geworfen.

Man kann aber wohl davon ausgehen, das ein Android Gerät, das auf den Google Android Markt zugreifen kann, auch über die Google Maps Bibliothek verfügt. Vermutlich sind entweder alle Google-Bibliotheken auf dem System, oder keine.

Antworten