2015-08-05 14 views
5

Attualmente sto sviluppando un'applicazione per Android e sto utilizzando l'API di Google Maps. Nella console degli sviluppatori, ho aggiunto la mia stampa del certificato SHA1, seguita dal mio nome del pacchetto. Anche se ho stampato questo certificato SHA1 usando keytool, non posso accedere alle mappe. Ho fatto molte ricerche, ma ogni argomento mi ha portato a risposte in cui l'errore era in una chiave API sbagliata nella console degli sviluppatori. Ma ho preso l'SHA1 giusto, quello del mio certificato.API di Google Maps La versione di rilascio della chiave non funziona

Grazie in anticipo!

+1

hai menzionato la chiave Android nel file manifest –

risposta

5

Ho avuto lo stesso problema, è stato super frustrante. Quello che ho finito è stato prendere la chiave che ho creato usando il mio keystore di rilascio e inserendolo nella console degli sviluppatori di Google. Quindi, aggiunto quanto segue al manifest Android.

<meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="KEY GOES HERE"/> 

Sono sicuro che avete letto la documentazione su questo, ma assicuratevi di seguire le istruzioni per il certificato di rilascio fino al punto.

https://developers.google.com/maps/documentation/android/signup

Si potrebbe anche seguire il link che è stato generato per voi nel file google_maps_api.xml. Questo automatizza il processo di inserimento della chiave nella console degli sviluppatori. Tuttavia, assicurati di aggiungere ancora quel valore di metadati nel tuo manifest.

+3

Grazie! Ho apportato la modifica e ho anche notato che quando ho creato la mia attività su Google Maps, c'erano due posti in cui la chiave API è archiviata. Un file per il rilascio e un altro per il debug. Assicurati che la chiave sia specificata in questi due file! –

+2

Ho cercato quei due file, sono solo in src/debug/res/values ​​/ google_maps_api.xml e src/release/res/values ​​/ google_maps_api.xml – Keiichi

3

Il file google_maps_api.xml deve essere in res/debug/e res/release. L'editor mostra solo la configurazione di esecuzione corrente che è il debug di default ed è un po 'fuorviante se non si osserva la nota (debug) dopo il nome della cartella. Copia google_maps_api.xml in entrambe le cartelle e modifica assicurati che abbiano le chiavi API corrette di ogni build.

0

Android Studio crea anche un TODO nella cartella di rilascio per il file xml google_maps_api e consente di conoscere la procedura richiesta prima del rilascio. Inoltre, non modificare la chiave in manifest manualmente. Quando passi a una variante di rilascio, la chiave viene automaticamente aggiornata nel manifest.

In ogni caso fare questo,

  1. Vai collegamento come menzionato da @Andrew Brook

  2. Fare clic su "Prendi una chiave" e proseguire

  3. O creare un nuovo progetto o usa uno esistente
  4. Specifica le opzioni e fai clic sul pulsante
  5. Se ne avevi già fatto uno prima, per esempio per r di debug, poi andare a creare una nuova chiave Image here
  6. Aggiungere il nome richiesto api, clicca su "Aggiungi nome del pacchetto e delle impronte digitali"
  7. Aggiungere il nome del pacchetto della tua app e SHA-1 chiave (generete utilizzando keytool in Java /jdk../bin/) Image here
  8. Si ottiene la variante API "variante" da aggiungere nel google_maps_api xml nella cartella di rilascio.
3

La mia mappa in modalità di rilascio stava visualizzando ma dopo la pubblicazione su Play Store non veniva visualizzata.

Avevo menzionato sia il certificato di debug e rilascio SHA-1 Key alla Google Developer Console, ma la mappa in modalità di rilascio dopo il download dell'app da Play Store non veniva ancora visualizzata.

Ecco' quello che era problema: Google Play App firma è abilitato per questa applicazione

Goto Release Management -> App Firma -> e copiare il SHA-1 certificato di impronte digitali da App certificato di firma

Incollare questa Impronta digitale appena copiata SHA-1 nella Console per gli sviluppatori e verrà visualizzata la mappa in modalità di rilascio.