Autore Topic: Problema con chiave di release per la mappa  (Letto 1541 volte)

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Problema con chiave di release per la mappa
« il: 21 Maggio 2014, 15:22:13 CEST »
0
Nell'applicazione ho inserito una mappa di google dove visualizzo l'indirizzo dell'appuntamento programmato nella mia agenda, con la chiave dei debug tutto funziona correttamente, mentra con la chiave di relise no, mi viene restituito questo errore:

E/Google Maps Android API﹕ Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

Penso di escludere il problema di rete perchè con l'altra chiave funziona, non capisco come come risolvere il problema di autenticazione.

Utilizzo Api v2

Aiutooo!

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #1 il: 22 Maggio 2014, 08:39:58 CEST »
0
Qualcuno può darmi qualche indicazione


Grazie a tutti per il supporto, spero di poter essere utile anche io.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con chiave di release per la mappa
« Risposta #2 il: 22 Maggio 2014, 16:01:30 CEST »
0
quando cambi il certificato e quindi la chiave per le mappe, devi anche "svuotare" la cache dell'app, a volte genera problemi passare da debug a release senza cancellare i dati
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #3 il: 22 Maggio 2014, 16:11:01 CEST »
0
Per sicurezza ho cancellato l'app dal cell. Ma non mi cambia niente. Mi sa che sbaglio qualche passaggio.


Grazie a tutti per il supporto, spero di poter essere utile anche io.

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #4 il: 22 Maggio 2014, 16:13:15 CEST »
0
L'app l'ho firmata direttamente da android studio e no ho avuto problemi a metterla sul marketing come relise alpha.


Grazie a tutti per il supporto, spero di poter essere utile anche io.

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #5 il: 25 Maggio 2014, 11:30:41 CEST »
0
Ancora non sono riuscito a far funzioare la mappa con la key di relise. Seguo il medesimo procedimento che ho fatto per la chiave di debug , solamente che utilizzo l'impronta del file di release. Ma non funziona.
Aiuttoooo.....

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Problema con chiave di release per la mappa
« Risposta #6 il: 25 Maggio 2014, 15:23:03 CEST »
0
Ciao,

Il tuo problema è molto comune, e fortunatamente è altrettanto semplice da risolvere....

Quando sviluppi un'applicazione che utilizza le mappe hai bisogno di due differenti API KEYS
1- Debug
2- Release...

La versione della chiave in debug la generi tranquillamente utilizzando il debug.keystore....
Per quanto riguarda la versione di "relese" devi avere un'altra chiave firmata con un keystore differnte...

Se ti ricordi per avere la chiave da usare all'interno della tua applicazione sulla console google https://code.google.com/apis/console
hai inserito l'SHA1 fingerprint usanto il debug keystore... Ebbene devi fare la stessa cosa utilizzando il RELEASE.keystore...

Io ti consiglio di creare una nuova "Android Application"...

Procedi così:
 - Crea una nuova "Android Application"
 - Generati il certificato di rilascio ( con il quale "firmerai l'app da android studio ) , se non l'hai già fatto...
 - Genera l'SHA1 fingerprint : keytool -list -v -keystore mystore.keystore <- con quel comando, inseriscilo sulla console goole seguito da: ;nomepackage... (Come hai già fatto per il debug)
 - Usa la chiave per l'applicazione in modlità release...


NB Se provi a compilare un applicazione che fa uso di API KEY Google maps, da computer differenti essi devono avere un SHA fingerprint differente...

Saluti ^^

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #7 il: 26 Maggio 2014, 09:22:18 CEST »
0
E' quello che ho fatto, solamente che firmando l'applicazione direttamente con AndroidStudio mi genera un file con estensione jks. Per estrarre l'impronta SH1 eseguo da riga di comando
keytool -list -keystore calendario.jks , che in mi restituisce 7B:9B:44:6E:AC:DB:52:50:33:49:8D:50:8A:B9:17:6C:3C:B9:E5:8B .
Come ho fatto per la chiave di debug  inserisco l'impronta seguita da ;it.nicolabrogelli.calendario e mi viene generata la mia API KEY. La inserisco all'interno del AndroidManifest, ma non funziona.

sono veramente scoraggiato

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Problema con chiave di release per la mappa
« Risposta #8 il: 26 Maggio 2014, 09:35:33 CEST »
0
Ma non devi fare così:

La chiave la generi cosi: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

(Essendo nella cartella bin di jdk)

Con quella chiave devi estrarre l'SHA1 fingerprint ;) non con quella che stai tentando tu

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #9 il: 26 Maggio 2014, 09:51:59 CEST »
0
Scusa la mia incapacità :( seguendo un tutoria in rete avevo precedentemente fatto la stessa cosa, come mi hai postato te

C:\Programmi\java\jdk1.7.0_45\bin>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

C:\Programmi\java\jdk1.7.0_45\bin> keytool -list -v -keystore my-release-key.key
store
Immettere la password del keystore:

Tipo keystore: JKS
Provider keystore: SUN

Il keystore contiene 1 voce

Nome alias: alias_name
Data di creazione: 26-mag-2014
Tipo di voce: PrivateKeyEntry
Lunghezza catena certificati: 1
Certificato[1]:
Proprietario: CN=Nicola Brogelli, OU=Nicola Brogelli, O=Nicola Brogelli, L=Firen
ze, ST=Fi, C=It
AutoritÓ emittente: CN=Nicola Brogelli, OU=Nicola Brogelli, O=Nicola Brogelli, L
=Firenze, ST=Fi, C=It
Numero di serie: 6e99eca5
Valido da: Mon May 26 09:39:14 CEST 2014 a: Fri Oct 11 09:39:14 CEST 2041
Impronte digitali certificato:
         MD5:  92:25:2C:77:D7:81:4F:00:3D:F2:01:99:39:2C:6F:42
         SHA1: 2C:E1:B2:81:DF:98:F0:C6:01:EA:9E:15:DB:9C:91:E7:5B:D6:7B:C3
         SHA256: 9D:1B:DD:C4:D7:71:DB:B5:7F:33:84:D2:C5:80:BE:E0:4F:7C:FD:B0:70:
B0:F5:58:A9:01:05:A1:B8:DE:80:1F
         Nome algoritmo firma: SHA256withRSA
         Versione: 3

Estensioni:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: F1 84 20 5E 42 00 84 09   F3 F1 5B AD 21 63 02 3D  .. ^B.....[.!c.=
0010: 59 25 C7 E6                                        Y%..
]
]

Questo è il risultato, poi ho preso 2C:E1:B2:81:DF:98:F0:C6:01:EA:9E:15:DB:9C:91:E7:5B:D6:7B:C3 ci ho accodato il package e ho ottenuto questo (ho ripetuto l'operazione ora)

API key    AIzaSyBEEabkatnToerawSgOYwasvloNPWDHO1Q
Android applications     2C:E1:B2:81:DF:98:F0:C6:01:EA:9E:15:DB:9C:91:E7:5B:D6:7B:C3;it.nicolabrogelli.calendario
Activation date    May 26, 2014 12:41 AM
Activated by    developerandroidapplication@gmail.com (you)

Ho inserito l'api key nel manifest ma non funziona.

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Problema con chiave di release per la mappa
« Risposta #10 il: 26 Maggio 2014, 09:54:36 CEST »
0
l'api che inserisci nel manifest funziona solo se firmi l'applicazione con lo stesso .KEYSTORE con il quale hai creato quella chiave api ;)

Questa chiave non funzionerà mai in DEBUG!

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #11 il: 26 Maggio 2014, 11:47:44 CEST »
0
Allora dopo i passi precedenti e la generazopme del my-release-key.keystore utilizzo il comando riportato sotto per firmare l'apk che ho genrato tramite android studio

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore
calendario.apk calendario

Ma mi ritorna questo errore.

jarsigner: Certificate chain not found for: calendario.  calendario must referen
ce a valid KeyStore key entry containing a private key and corresponding public
key certificate chain.


Sinceramente non so più cosa fare

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con chiave di release per la mappa
« Risposta #12 il: 26 Maggio 2014, 11:56:47 CEST »
0
ma perchè diventare matto a farlo a mano? Eclipse te lo fa fare direttamente dal progetto, e android studio se lo configuri (c'è online come fare, non l'ho mai fatto ma ho visto guide) te lo compila già in release cosi hai il file APK bello e pronto
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 97
  • Respect: +2
    • Mostra profilo
Re:Problema con chiave di release per la mappa
« Risposta #13 il: 26 Maggio 2014, 12:00:58 CEST »
0
Infatti con le app senza mappa lo genero direttamente da android studio tramite il comando generated signed apk, ne ho inserita anche una di prova nel google store.
Il problema è come firmare la mappa per il release :(

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con chiave di release per la mappa
« Risposta #14 il: 26 Maggio 2014, 16:21:50 CEST »
0
non devi firmare la mappa.
Per le mappe la chiave va messa nel manifest (come da guida) una volta generata usando il keystore che usi per firmare l'apk da android studio.
Una volta che hai generato la map api corretta, non devi fare niente per firmare l'apk, lo crei in modalità release come se non avesse le mappe, ovviamente usando lo stesso keystore usato per generare il map api key
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia