Este post resuelve el bug Flutter and google_sign_in plugin: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) que ocurre al testear a la autenticación en local. En caso de que el comando ./gradlew signingReport no funcione, es muy probable que su error esté relacionado con este problema https://stackoverflow.com/questions/61289461/java-lang-noclassdeffounderror-could-not-initialize-class-org-codehaus-groovy-v
En pocas palabras, para resolver el bug, basta con ir al archivo android\gradle\wrapper\gradle-wrapper.properties y reemplazar la línea:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
Por:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
También es posible que sea mejor correr el comando directamente en gitbash, para evitar esos formatos extraños que a veces genera cuando se usa en vscode.
Ahora sí, este es el post:
Normalmente es suficiente con agregar las firmas de firebase y de google play a la app para poder que funcione. Pero en el caso de las instalaciones directas (un archivo apk), es necesario agregar la firma de release de la app a firebase. El proceso es el siguiente:
Primero tenemos que consultar el listado de firmas o gradlew signinReport (por si alguna vez se había preguntado para que era ese tal archivo gradlew). Para esto hay dos opciones:
- Buscar el archivo gradlew, normalmente ubicado en un-proyecto/android/gradlew, y Hacer clic derecho encima y seleccionar la opción Abrir en la Consola (Open in Terminal).
- Navegar en la consola hasta la carpeta android.
A continuación ejecutar el siguiente comando:
./gradlew signingReport
Esto mostrará un largo reporte con todas las firmas y sobretodo con las claves SHA1, que se necesitarán.
La clave requerida en este caso es la que está marcada como release:
... Variant: release Config: release Store: C:\Su Madre\Su App\android\app\key.jks Alias: key MD5: E6:... SHA1: A9:... ....
Esta opción les permitirá agregar la clave a firebase o donde quiera que la necesiten… incluso en una petición a la santísima virgen, si no les funciona.
No olviden descargar y actualizar el archivo google-services.json después de esto. Eso es todo.