'MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in) after publishing to Google Play Store
I asked a similar question before, but I am having trouble with Google Sign-in after publishing my app to internal and closed testing on the Play store. It works perfectly well on emulators for both Android and iOS, works great on real devices when I run it from my computer in debug and release modes, but once published to the Play store, everything breaks. The error I get is
MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in)
Is there anything in particular I'm missing? I have a feeling this is a one-step solution and I just can't find it.
Solution 1:[1]
I had the same problem as you (same error message, using Flutter, only occuring after app store) and was able to figure it out by finding an analagous problem here: https://github.com/flutter/flutter/issues/65334
I added
buildTypes {
release {
minifyEnabled false
shrinkResources false
...
to my build.gradle file. You can also set both of those values to true and run flutter run --release to reproduce the issue locally. When you build with flutter build appbundle it shrinks by default whereas running locally does not, that's why you aren't seeing the issue when running locally. It has something to do with the google sign in code being trimmed. This is really a workaround.
Solution 2:[2]
add this library in .yaml
google_sign_in: ^0.0.2
then import this in your login screen
import io.flutter.plugins.GeneratedPluginRegistrant;
then add this to the onCreate function
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}
Solution 3:[3]
In my case I tried to invoke method from MainActivity, but in AndroidManifest.xml activity tag had wrong name, like this:
"io.flutter.embedding.android.FlutterFragmentActivity"
So I changed it to
".MainActivity"
Solution 4:[4]
I had the same Issue on react native and all I had to do was change android/app/build.gradle
buildTypes {
release {
minifyEnabled true
to
buildTypes {
release {
minifyEnabled false
sync and clean build before running again
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Zak |
| Solution 2 | Tharaka Dayanjana |
| Solution 3 | Sn1cKa |
| Solution 4 | Sherif Samir |
