Android Google Platz Picker in Signed APK arbeiten, aber nicht in Live-App arbeiten

stimmen
1

Ich habe eine Anwendung, in denen ich Google Platz Picker verwendet haben. Es ist sehr seltsam Problem i bin vor. Wenn ich signierte APK erschaffe mit meiner App-Schlüsselspeicher, ist Platz Picker sehr gut funktioniert. Das gleiche APK Ich habe über Google Plays hochgeladen. Wenn ich komme, dass Platz Auswahl zu öffnen automatisch geschlossen. Ich lese schon eine Menge Kommentare online und hier auch in SO. Aber ich kann nicht feststellen, warum seine gut in signierten APK arbeiten und die gleiche APK, die ist über Google Plays funktioniert nicht.

Wenn i-Protokolle von LIVE-Anwendung von Google überprüft Plays es Fehler wie diese zu geben:

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
}]

Ich habe bereits in meinem Google Developer Console überprüft, dass mein Schlüssel gleich ist oder nicht. Ich überprüfe auch meine SHA, die ich von meiner Schlüsselspeicherdatei erstellt habe. Und alle sind gut (Sonst wird es auch nicht funktioniert in der Unterzeichnung APK, wenn etwas Unrecht dort).

Hier ist, wie ich Platz Picker von meiner Aktivität Aufruf

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

Hier ist meine AndroidManifest.xml Datei, wo ich meine API gibt Schlüssel in Meta-Daten, die in Anwendung Tag ist.

<?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>

Es gibt Datei, die i „release / Werte / google_maps_api.xml“ gelöscht, die erzeugt automatisch. Wie ich bereits meinen API-Schlüssel in string.xml erwähnt, also löschte ich dieses ganzen Werte Paket von Release-Paket.

Kann mir jemand sagen, was mit diesem falsch?

Veröffentlicht am 19/09/2017 um 17:28
vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
4

Nach einigen Tagen der für die Suche nach Lösung dieses Problems Zeit zu investieren. Schließlich habe ich die Lösung. Es ist wegen der Google Play App Signing .

Mit Google Play Signing App: Sie melden Ihre App mit der Upload-Taste. Dann prüft Google und entfernt die Upload Tonartvorzeichnung. Schließlich Google Wieder Zeichen der App mit dem Original-App Signaturschlüssel zur Verfügung gestellt Sie und liefert die App für den Benutzer.

Also, wenn ich API-Schlüssel Geschaffen für „Google Places API für Android“ Ich habe den Schlüssel beschränkte meinen Paketnamen und meine SHA-1 der Unterzeichnung APK Schlüsselspeicher.

Nun, das ist unter „Upload-Zertifikat“ und es nicht verwendet wird, wie ich meine App übergeben Zertifikat des SHA-1 Singen zu Google Developer Console. Und nachdem ich, dass mein Google Plays Live-App Google PlacePicker gut arbeiten.Geben Sie hier image description

Beantwortet am 01/10/2017 um 18:15
quelle vom benutzer

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