繁体   English   中英

MissingPluginException(未在通道插件上找到方法 init 的实现。flutter.io/google_sign_in)

[英]MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in)

使用 Flutter 的 google sign_in

但是当我使用此语句登录用户时看到以下消息

_googleSignIn.signIn();

E/flutter(6491):MissingPluginException(未在通道插件上找到方法 init 的实现。flutter.io/google_sign_in)

我验证了以下步骤:

GoogleSignInPlugin.registerWith(registry.registrarFor("io.flutter.plugins.googlesignin.GoogleSignInPlugin")); // is present

GeneratedPluginRegistrant.registerWith(this); // in MainActivity.Java

用户是否经常报告此错误。 不确定如何进行。 我正在做大多数文档所说的,但它不起作用。

我看到的其他奇怪行为是,我第一次运行 flutter 时,它卡在等待 googleSignIn.SignIn() 上。

只有在我进行热重载(通过键入“r”)之后,我才会看到上面的错误消息:

E/flutter (12326): MissingPluginException (No implementation found for method init on channel plugins.flutter.io/google_sign_in)

问题:是否有其他方法可以对 Flutter 应用程序进行基本身份验证。 我只需要某种基本身份验证,以便我的服务器可以知道它正在为哪个用户提供数据。

运行flutter clean并重新启动IDE以及完全重新构建应用程序。 这将修复它。

当我遇到这个问题时,我一直在头疼。 终于我意识到我做错了什么。 我必须执行以下步骤
1>切换到master分支
flutter channel master
2> flutter upgrade
3> flutter clean
4>最重要的部分,检查你是否有facebook插件。 如果是,请完全设置(未测试)或将其删除(有效),因为它与 google 插件混淆

最后我在颤振中发现了问题,因为 google 和 facebook login pub 之间存在冲突

在 pubspec.yaml 文件中

google_sign_in: ^4.5.3

flutter_facebook_login: ^3.0.0 -> 删除这个

并评论 Facebook 登录的所有代码

事实证明,您不必删除flutter_facebook_login即可使google_signin工作。 flutter_facebook_login在注册期间抛出并阻止google_sign_in注册时, flutter_facebook_login发生这种情况, flutter_facebook_login flutter 的官方 repo 贡献者在此处所说的那样。

该线程的评论之一中提供的解决方案是在AndroidManifest.xml注册 Facebook 插件,我也忘记了。 在清单中注册 Facebook 解决了这个问题。

要添加到清单中的代码是:

<meta-data android:name="com.facebook.sdk.ApplicationId"
    android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name" />

<activity
    android:name="com.facebook.CustomTabActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="@string/fb_login_protocol_scheme" />
    </intent-filter>
</activity>

不要忘记在strings.xml添加所需的strings.xml作为

<string name="app_name">Your App Name</string>  <!-- app name on fb -->
<string name="facebook_app_id">Your FB ID</string>  <!-- fb app id -->
<string name="fb_login_protocol_scheme">Your FB protocol scheme</string>  <!-- fb+ fb app id -->

我的颤振应用程序运行良好,直到我添加:

flutter_facebook_login: ^3.0.0

在 Flutter 的 Github issue #62639#61166搜索了一段时间后,明确指出目前 Google Sign In 和 Facebook Login 插件不能一起使用。

对我来说是再次安装豆荚

在颤振项目目录中打开终端并写入

cd ios
pod install

它最近发生在 Flutter 存储库的 beta 频道上。 考虑从稳定渠道签出。

我一次尝试了很多东西,所以我不太确定,但我想这解决了问题。

flutter_facebook_login: ^3.0.0 -> remove this one

记住在flutter项目中安装插件后,热重载或者重启都会抛出这个错误(缺少插件异常),需要重新运行app! 热重载仅支持纯 dart 代码,插件包含本地代码,如 java 或 swift,这些代码必须可用于 dart 代码,因此重新编译是将本地代码推送到设备上运行的应用程序的唯一选项。

您可以停止应用程序并尝试使用此命令

1 flutter doctor
如果有问题请修复

2 flutter clean
3 flutter run -v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 发布到 Google Play 商店后,MissingPluginException(未在频道插件上找到方法 init 的实现。flutter.io/google_sign_in) 未处理的异常:MissingPluginException(在频道 plugins.flutter.io/google_mobile_ads 上找不到方法 _init 的实现)in_app_purchase MissingPluginException(MissingPluginException(未找到方法 camera#animate on channel plugins.flutter.io/google_maps_53)的实现) MissingPluginException(MissingPluginException(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现) FLUTTER 未处理的异常:MissingPluginException(在通道插件上找不到方法 map#waitForMap 的实现。flutter.io/google_maps_0) 未处理的异常:MissingPluginException(在通道插件上找不到方法 X 的实现。flutter.io/Y) MissingPluginException(在 Android 上找不到方法 Firebase#initializeCore 在通道插件上的实现。flutter.io/firebase_core) MissingPluginException(在通道 plugins.flutter.io/path_provider 上找不到方法 getApplicationDocumentsDirectory 的实现) 缺少插件异常(在通道插件上找不到方法 firebase#initializecore 的实现。flutter.io/firebase_core) Flutter Unhandled Exception: MissingPluginException(No implementation found for method pickImage on channel plugins.flutter.io/image_picker) 错误
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM