0

Ich generierte 2 API-Schlüssel in der API-Konsole, eine für Debug mit SHA1 debuggen (keine Einschränkung) und eine für die Produktion mit Release Keystore SHA1 (mit Android Apps Restriction).Google Maps API Key funktioniert mit signierten apk, funktioniert aber nicht nach Veröffentlichung

Ich habe beide den API-Schlüssel separat in debug .. \ google_maps_api.xml und release .. \ google_maps_api.xml und fügte die Metadaten in Manifest über dem schließenden Application-Tag hinzu. Ich habe eine signierte APK erstellt und die Karten sind gut geladen. Mein Manifest sieht wie folgt aus

<application 
    <activity 
     android:name=".MainActivity" 
     android:screenOrientation="portrait" 
     android:windowSoftInputMode="stateHidden|adjustResize" /> 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <activity 
     android:name=".MapsActivity" 
     android:label="@string/title_activity_maps" 
     android:screenOrientation="portrait" /> 

    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 
</application> 

ich die signierte APK erzeugt mit Unterschrift servions V1 (Jar Signature) und V2 (Full APK Signature). Nach dem Publishing im Playstore wird die Karte nicht geladen. Kann mir bitte jemand dabei helfen?

+0

Play Store erstellt einen neuen SHA1-Schlüssel namens "App signing certificate" [Link Beschreibung hier eingeben] (https://Stackoverflow.com/a/44330035) –

Antwort

0

Basierend auf dieser thread, wenn Sie Ihre Anwendung zum Veröffentlichen exportiert haben, verwenden Sie wahrscheinlich nicht mehr den Debug-Keystore, sondern einen benutzerdefinierten. Wenn Sie zu einem anderen Schlüsselspeicher wechseln, müssen Sie einen neuen Google Maps-API-Schlüssel generieren. Sie müssen Fingerabdrücke für ein Freigabezertifikat erstellen. Sie können here den Schritt überprüfen, um die Fingerabdrücke des Freigabezertifikats zu generieren. Hier ist ein weiterer reference, der helfen könnte.

+0

Ich habe einen separaten API-Schlüssel für die Freigabe mit dem Release Keystore SHA erstellt . Ich benutzte keytool -list -v -keystore your_keystore_name -alias dein_alias_name, um den SHA zu erhalten – David

Verwandte Themen