web-dev-qa-db-fra.com

Le magasin de clés Android SHA1 ne fonctionne pas avec Google Maps

J'utilise l'API Android de Google Maps et je rencontre quelques problèmes.

Je signe mon apk avec le studio Android (créé à l'adresse .Android/keystore.jks). Aussi je sélectionne "release" comme type dedans. J'ai utilisé la commande

keytool -list -v -keystore C:\Users\Toshiba\.Android\keystore.jks

pour obtenir l’empreinte SHA1 du magasin de clés.

Le SHA1 est correct, mais la carte n'est pas affichée sur un fichier APK signé. Il est affiché dans un fichier de débogage APK.

Utiliser keytool avec le keystore de version (keystore.jks) me permettra d'obtenir ceci:

 SHA1: 33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX

Le débogage fonctionne bien (j'ai ajouté 2 à la console de l'API dans Google)

33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX;yac.breakingpoint
7C:28:61:5B:C3:4A:5C:50:44:AA:FD:58:69:E9:70:91:XX:XX:XX:XX;yac.breakingpoint

XX est noirci.

L'outil de clé indique qu'il utilise SHA256withRSA comme algorithme de signature pour le magasin de clés de débogage et de libération.

Qu'est-ce que je fais mal?

UPDATE J'ai donc essayé une nouvelle clé d'API, nettoyer le projet et le reconstruire, un nouveau magasin de clés - je ne travaille toujours pas sur la version ... le débogage va bien!

UPDATE 2 Je n'ai toujours pas trouvé de solution efficace ... Aidez-moi!

UPDATE 3 Très bien, ça marche en utilisant un fichier APK signé avec le type de construction debug. Extrait le CERT.RSA et exécuté keytool -printcert -file ./CERT.SA. Vous obtenez le même résultat que pour le type de construction de la version. En sortie ça ne marche pas!

UPDATE 4 Voici un autre essai que j'ai fait:

  • Création d'un nouveau référentiel GIT auquel il s'est engagé.
  • Les dossiers /build ne sont pas validés car ils figurent dans les fichiers .gitignore.
  • Création d'une nouvelle clé API dans la console API et ajout de la clé release SHA1.
  • Ajout de cette clé API à l'application et nettoyage complet avec reconstruction.
  • Généré un nouveau fichier APK signé

Cela n'a pas fonctionné.

UPDATE 5 Un de mes amis a tenté de reproduire ce problème. Il a exactement le même problème lorsqu'il travaille avec le studio Android. Probablement un bug de studio Android?

30
amahrt

Vous avez deux fichiers google_maps_api.xml

Un dans ce dossier: 

app/src / debug / res/values ​​ 

Autre dans ce dossier:

app/src / release / res/values ​​

Mais seul le débogage contient probablement votre clé API.

72
suhaig

1) Généralement, vous devez nettoyer et reconstruire le projet pour qu'il puisse fonctionner. 

2) Assurez-vous que votre variante de construction est en sortie (Android Studio est convivial à cet égard).

3) De même, si vous déboguez sur vos appareils, désinstallez-le complètement avant de continuer.

4) Comme indiqué dans la documentation , assurez-vous d’avoir configuré votre manifeste correctement.

J'espère que ça aide.

3
Joel

le SHA1 que vous utilisez actuellement à des fins de débogage.

Ainsi, lorsque vous créez un apk signé, vous avez un fichier kestore. essayez de générer une nouvelle clé SHA1 avec ce nouveau fichier keaystore.

puis en utilisant ce fichier de clés créer une clé API pour apk signé à partir de la console Google.

remplace la clé de l'API de débogage déjà stockée dans le fichier manifeste par la nouvelle.

Ça va marcher

merci

1
Arun Antoney

Créer un nouveau projet dans Android Studio avec Google map Activity. Après le projet crée automatiquement le SHA1 dans le manifeste. Utilisez ce SHA1 pour obtenir la clé d’API MAP. Testez votre application pour vous assurer qu'elle fonctionne. Et après avoir construit votre application sur quel projet.

0
ArmDroid