Android Google Place Selector de trabajar en APK firmado pero que no trabajan en aplicaciones en vivo

votos
1

Tengo una aplicación en la que he utilizado Google Place Selector. No es muy extraño problema que estoy enfrentando. Cuando estoy creando APK firmado con almacén de claves de mi aplicación, Lugar Selector está funcionando muy bien. Ese mismo APK He subido sobre Google PlayStore. Cuando llego a abrir ese lugar Selector de que se cerrara automáticamente. Ya he leído un montón de comentarios en línea y también aquí en SO. Pero no puedo determinar por qué su trabajo bien en APK firmado y lo mismo APK que es más de Google PlayStore no está funcionando.

Cuando he comprobado los registros de la aplicación de Google VIVO playstore que da un error de la siguiente manera:

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

Ya he comprobado en mi consola de desarrollo de Google que mi llave es la misma o no. También puedo comprobar el SHA que he creado de mi archivo de almacén de claves. Y todos son buenos (de lo contrario, tampoco funciona en APK firmado si los errores nada allí).

Así es como yo llamando Lugar Selector de mi actividad

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

Aquí está mi archivo AndroidManifest.xml donde tengo dar mi clave de API de metadatos que está en la etiqueta de la aplicación.

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

No es lo que yo borrado de archivos liberación / valores / google_maps_api.xml, que es automática generada. Como ya he dicho mi clave de API en string.xml, Así que he eliminado todo este paquete de valores de paquete de versión.

¿Puede alguien decirme lo que está mal con esto?

Publicado el 19/09/2017 a las 14:28
por usuario
En otros idiomas...                            


1 respuestas

votos
4

Después de varios días de invertir tiempo para encontrar la solución de este problema. Finalmente conseguí la solución. Es a causa de la aplicación Google Play firma .

Con Google Play firma: Usted firma su aplicación con su clave de subida. A continuación, Google verifica y elimina la armadura de carga. Por último, Google vuelve a firmar la aplicación con la llave original aplicación de firma que proporcionan y entrega su aplicación para el usuario.

Por lo tanto, cuando creé clave de API para "API de Google Places para Android" He restringido esa clave usando mi nombre y mi paquete de SHA-1 del almacén de claves de firmado APK.

Ahora que está bajo "Cargar certificado" y no se utiliza, ya que tengo que pasar mi aplicación Canto SHA-1 del certificado de Google consola de desarrollo. Y después de hacer eso de aplicación en vivo de mi Google PlayStore Google PlacePicker funcionando bien.introducir descripción de la imagen aquí

Respondida el 01/10/2017 a las 15:15
fuente por usuario

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