I have been integrating Google Sign-In into an app as described at https://developers.google.com/identity/sign-in/android/start-integrating. Using https://developers.google.com/identity/sign-in/android/sign-in?configured as a model, I got sign-in working correctly with my debug keystore.
When I merged the pull request and attempted to switch configuration out for a new keystore for a release build, the sign-in process started to inexplicably fail. With a bit of digging, I found the same error detailed at New Google sign in Android.
Status{statusCode=unknown status code: 12501, resolution=null}
These posts led me to believe that perhaps I had configured the keys wrong. However, after double checking and creating a new keystore and configuration files several times, the error continued happening. I also manually checked the RSA1 for the keystore that signed my release APK. It is the one registered with Google. Finally, I noticed some errors in the log
W/SurfaceFlinger﹕ couldn't log to binary event log: overflow.
W/AccountChipsFragment﹕ Recording consent failed.
V/GLSActivity﹕ AuthDelegateWrapperCreated with selected intent: Intent { cmp=com.google.android.gms/.auth.DefaultAuthDelegateService }
V/GLSActivity﹕ AuthDelegateWrapperCreated with selected intent: Intent { cmp=com.google.android.gms/.auth.DefaultAuthDelegateService }
D/ConnectivityService﹕ updateNetworkScore for NetworkAgentInfo [WIFI () - 106] to 59
D/ConnectivityService﹕ rematching NetworkAgentInfo [WIFI () - 106]
V/BaseAuthAsyncOperation﹕ access token request failed