1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Tutorial: HelloMapView / Keytool für maps

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Duckemai, 10.07.2010.

  1. Duckemai, 10.07.2010 #1
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Hallo zusammen,

    ich arbeite mich derzeit durch das Tutorial HelloMapView durch, und muss nun einen Key erzeugen, damit die Google-Map auch im Emulator angezeigt wird (Eclipse3). Der Pfad bei mir sieht so aus: C:\Duckemai\.android\debug.keystore

    Nun soll ich über CMD für einen Debug-Key (mehr brauche ich im Moment nicht) folgendes auslösen (laut Anleitung: Obtaining a Maps API Key):

    $ keytool -list -alias androiddebugkey \
    -keystore <path_to_debug_keystore>.keystore \
    -storepass android -keypass android

    Dabei bekomme ich ständig Fehlermeldungen. Wahrscheinlich gebe ich
    die Befehle falsch ein. Muss ich erst zu einem bestimmten Pfad
    navigieren und dann den Block oben kopieren? Oder jede Zeile einzeln?
    Kenne mich mit Shells nicht besonders gut aus und wäre dankbar
    für eine Kurzanleitung.

    Gruß
    Duckemai
     
  2. K2DaC, 10.07.2010 #2
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    wär gut zu wissen welchen fehler du bekommst.

    Bei mir jedenfalls sah das ganze so aus :

    Start -> Ausführen -> CMD. Danach mit dem Befehl "cd.." solange in den Ordnern rumspringen bis du bei c:\ gelandet bist

    "
    C:\Program Files (x86)\Java\jre6\bin\keytool -list -alias androiddebugkey -keystore C:\Users\Kruemel\.android\debug.keystore
    "

    alles innerhalb von " " ist ein befehlt, der zusammen ausgeführt werden muss
    ---

    Wichtig ist hier :
    a) C:\Program Files (x86)\Java\jre6\bin\
    ist der Pfad zu deinem bin ordner in dem sich die keytool.exe befindet (notfalls windows suche benutzen)
    b) -alias androiddebugkey
    Darf nicht verändert werden. -alias ist so eine art "Benutzername" und der ist in dem debug.keystore nunmal : androiddebugkey
    c) C:\Users\Kruemel\.android\debug.keystore
    der Pfad zu deiner debug.keystore Datei
    d) Du wirst danach nach dem Passwort gefragt. es lautet "android"


    Solltest du die Fehlermeldung "Zugriff verweigert" bekommen, oder hast du wie ich Leertasten in deinen Ordnernamen, musst du von c:\ aus mit den Befehlen:
    cd Program Files (x86)
    cd Java
    cd jre6
    cd bin
    solange "navigieren" bist du in deinem bin Ordner angekommen bist,
    Danach verkürzt sich der Befehl auf :
    keytool -list -alias androiddebugkey -keystore C:\Users\Kruemel\.android\debug.keystore
     
    Zuletzt bearbeitet: 10.07.2010
  3. Duckemai, 10.07.2010 #3
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Erstmal danke für die schnelle Antwort. Ich bin dicht dran einen Key zu generieren. Aber so ganz klappt das noch nicht. Habe wie von Dir beschrieben folgendes eingegeben:

    C:\Programme\Java\jre6\bin\keytool -list -alias androiddebugkey -keystore
    C:\Duckemai\.android\debug.keystore

    und bekomme die Fehlermeldung:
    Befehlsoption -keystore benötigt ein Argument

    Habe dann gelesen, dass man hier einen Namen für den keystore angeben muss und es damit versucht:
    C:\Programme\Java\jre6\bin\keytool -list -alias androiddebugkey -keystore test-key.keystore
    C:\Duckemai\.android\debug.keystore

    Nun sagt er mir aber:
    Keytool-Fehler: java.lang.Exception: Keystore-Datei nicht vorhanden: test-key.keystore

    Habe es auch mit Deinem Vorschlag versucht erst zum Pfad zu navigieren und habe dann eingegeben:
    keytool -list -alias androiddebugkey -keystore C:\Duckemai\.android\debug.keystore

    Dann kommt keine Fehlermeldung. Er schreibt diese Befehlszeile einfach hinter den Pfad, der Cursor blinkt. Wenn ich das Passwort versuche einzugeben oder sonst etwas kommt die Meldung:
    ...kein gültiger Befehl

    Wie generiere ich diese Keystore-Datei bzw. das Argument für Keystore?
     
    Zuletzt bearbeitet: 10.07.2010
  4. K2DaC, 10.07.2010 #4
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    hab dir mal nen screenshot von meiner CMD hochgeladen.

    Navigiere in den bin Ordner

    keytool -list -alias androiddebugkey -keystore C:\Duckemai\.android\debug.keystore

    per Copy & Past einfügen

    Enter drücken

    Dann müsste die aufforderung nach dem Passwort kommen
     

    Anhänge:

    • test.PNG
      test.PNG
      Dateigröße:
      50.6 KB
      Aufrufe:
      654
    Duckemai bedankt sich.
  5. Duckemai, 10.07.2010 #5
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Hallo,

    vielen Dank für den Screenshot.
    Das sieht mit meinen Pfaden genauso aus. Aber wenn ich Enter drücke erscheint: "Keytool-Fehler: java.lang.RuntimeException: Verwendungsfehler: und ist kein gültiger Befehl"

    Vielleicht habe ich irgendwo eine falsche Einstellung. Ich werde noch mal alle Tutorials dazu durcharbeiten. Irgendwie scheint der Fehler ursprünglicherer Natur zu sein.

    Vielen Dank für Deine Hilfe
    Duckemai
     
  6. Duckemai, 10.07.2010 #6
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Etwas weiter bin ich nun doch gekommen. Vielleicht hilft es dem Nächsten. Verbunden mit einer Frage, denn der Key scheint nicht zu funktionieren, habe ich folgendes gemacht:

    in cmd den Pfad eingeben und: ...jre6\bin>keytool -genkey
    Nun werde ich nach Angaben gefragt wie Name, Organisation, usw
    sowie:
    Passwort für mykey: Enter gedrückt [übernimmt das allg. Passwort für keystore (also: android)]

    Dann:
    ...jre6\bin>keytool -list

    Und er gibt einen Schlüssel aus:
    mykey, 10.07.2010, PrivateKeyEntry, Zertifikatsfingerabdruck (MD5): [Key-Ausgabe XX:XX:XX usw.]

    Wenn ich diesen Schlüssel aber in dem Tutorial-Projekt (Hello, MapView | Android Developers)
    unter main.xml: android:apiKey="XX:XX:usw" eingebe, wird immer noch keine map angezeigt. (Im Emulator aber direkt Google-Maps aufzurufen funktioniert!)
    Ist das überhaupt der richtige Schlüssel für den Debugmodus? Oder sollte hier jeder generierte Schlüssel funktionieren?

    Vielleicht gibt es doch noch ein paar Einfälle?

    Duckemai
     
    Zuletzt bearbeitet: 10.07.2010
  7. K2DaC, 11.07.2010 #7
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010

    also wenn du nach name usw gefragt wirst, erstellst du dir grade selber nen eigenen key. mit diesem fungerprint und dem key den du damit online bekommst kannst du wohl auf echten geräten dir google maps anschauen.
    du brauchst also im endeffekt eh 2 ...
    werd morgen früh nochmal schaun. bin grad von der Fanmeile in Berlin heim gekommen und fühle mich grad nicht im stande ...
     
  8. Duckemai, 11.07.2010 #8
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Das ist nur all zu verständlich. War aber auch ein schönes Spiel! Habe es mir in der kleinen Hauptstadt (Bonn) angeschaut :rolleyes: Ich werde auch weitersuchen. Das muss doch zu schaffen sein!!
     
  9. K2DaC, 11.07.2010 #9
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    versuch mal :
    Mit dem WindowsExplorer in den Ordner
    C:\Duckemai\.android\
    gehen und die Datei debug.keystore kopieren

    Dann mit dem WindowsExplorer in den /bin/ ordner von Java reingehen und die datei dort einfügen.

    jetzt in die CMD wechseln und wieder in den /bin/ ordner naviegieren und folgendes eingeben:
    keytool -list -alias androiddebugkey -keystore debug.keystore
    und mit enter bestätigen
     
  10. Duckemai, 11.07.2010 #10
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    HeyHeyHey. Ich bin gar nicht auf die Idee gekommen, dass der debug.keystore ebenfalls im Ordner JRE\bin liegen sollte. Die Umgebungsvariablen sind auf jeden Fall gesetzt, falls das autom. Kopieren dieser Datei in den \bin-Ordner etwas damit zu tun haben sollte!!!???

    Lange Rede ohne Sinn: Er generiert mir nun einen androiddebugkey. Yippee!
    Zwar funktioniert mein Projekt immer noch nicht... Ausbuh!, weil er keine Maps anzeigt, aber ich werde nochmal den Quellcode und die Einstellungen durchchecken. Die richtige API (Google) habe ich jedenfalls benutzt.

    Besten Dank! In Kürze melde ich mich noch mal, in der Hoffnung erklären zu können, was Anfänger zu tun haben, damit die Emulation mit Maps interagiert.

    Gruß
    Duckemai
     
  11. K2DaC, 11.07.2010 #11
    K2DaC

    K2DaC Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    muss er nicht. wenn er nicht im ordner liegt muss man halt den pfad angeben wo er liegt. das war wohl dein problem.

    mit dem hash kannst du dir dann online nen key erstellen, und diesen musst du dann in deine mapView.xml reinschreiben

    dein app braucht auch die premission ins internet zu kommen
     
  12. Duckemai, 12.07.2010 #12
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus

Diese Seite empfehlen