Android Google Picker place de travail dans APK signé mais ne fonctionne pas dans l'application en direct

voix
1

J'ai une application dans laquelle j'ai utilisé Google Picker place. Il est question très étrange que je suis confronté. Quand je crée signé APK avec keystore mon application, la place Picker fonctionne très bien. Ce même APK j'ai téléchargé sur Google Playstore. Quand je viens d'ouvrir cette place Picker fermé automatiquement. J'ai déjà lu un bon nombre de commentaires en ligne et également ici en SO. Mais je ne peux pas déterminer pourquoi son travail bien signé APK et même APK qui est sur Google Playstore ne fonctionne pas.

Quand je vérifié les journaux d'application en direct de Google Playstore il donne une erreur comme ceci:

Volley : [198] BasicNetwork.performRequest: Unexpected response code 403
for https: //www.googleapis.com/placesandroid/v1/search?key=MY_KEY/ ? V / ConnectivityManager : isActiveNetworkMetered() returns: true
/ ? E / AsyncOperation : serviceID = 65, operation = SearchPlaces
OperationException[Status {
 statusCode = PLACES_API_INVALID_APP, resolution = null
}]

Je l'ai déjà vérifié dans mon Google Developer Console que ma clé est la même ou non. Je vérifie aussi mon SHA que j'ai créé à partir de mon dossier KeyStore. Et tous sont bons (Sinon, il ne sera pas non œuvres Signé APK si quelque chose là-bas torts).

Voici comment j'appeler place Picker de mon activité

int PLACE_PICKER_REQUEST = 999;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

Voici mon fichier AndroidManifest.xml où je donne ma clé API dans les méta-données qui est en étiquette d'application.

<?xml version=1.0 encoding=utf-8?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
    package=com.example >
    // ALL PERMISSIONS ARE HERE
    <application
        android:allowBackup=true
        android:[email protected]/ic_launcher
        android:[email protected]/app_name
        android:[email protected]/AppTheme >
        <activity
            android:name=.MainActivity
            android:[email protected]/app_name >
            <intent-filter>
                <action android:name=android.intent.action.MAIN />
                <category android:name=android.intent.category.LAUNCHER />
            </intent-filter>
        </activity>
        <meta-data            
            android:name=com.google.android.geo.API_KEY
            android:[email protected]/MY_KEY />
    </application>
</manifest>

Il y a fichier que je supprimé « release / valeurs / google_maps_api.xml » qui est automatique généré. Comme je l'ai déjà mentionné ma clé API dans string.xml, je supprimé tout cet ensemble de valeurs de package de libération.

Quelqu'un peut-il me dire quel est le problème?

Créé 19/09/2017 à 17:28
utilisateur
Dans d'autres langues...                            


1 réponses

voix
4

Après plusieurs jours de temps d' investir pour trouver la solution de ce problème. Enfin , je suis la solution. Il est à cause de Google Play Signature .

Avec Google Play Signature: Vous signez votre application avec votre clé de téléchargement. Ensuite, Google vérifie et supprime le téléchargement clé de signature. Enfin, Google signe de nouveau l'application avec la clé de signature de l'application originale que vous avez fourni et fournit votre application à l'utilisateur.

Alors, quand j'ai créé clé API pour « API Google Places pour Android » Je suis limité cette clé en utilisant mon nom et mon paquet SHA-1 du keystore Signé APK.

Maintenant, qui est sous « Télécharger le certificat » et il ne sert pas, comme je dois passer mon application Chanter le SHA-1 de certificat Google Developer Console. Et après avoir fait que mon Google de l'application en direct de Google Playstore PlacePicker fonctionne bien.entrez la description d'image ici

Créé 01/10/2017 à 18:15
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more