[英]MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in)
[英]MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in) after publishing to Google Play Store
我之前問過類似的問題,但是在將我的應用程序發布到 Play 商店的內部和封閉測試后,我在使用 Google 登錄時遇到了問題。 它在 Android 和 iOS 的模擬器上運行良好,當我在調試和發布模式下從我的計算機運行它時在真實設備上運行良好,但一旦發布到 Play 商店,一切都會中斷。 我得到的錯誤是
MissingPluginException(未在通道插件上找到方法 init 的實現。flutter.io/google_sign_in)
我有什么特別想念的嗎? 我覺得這是一個一步到位的解決方案,但我就是找不到。
我遇到了和你一樣的問題(同樣的錯誤消息,使用 Flutter,只在應用商店之后發生)並且能夠通過在這里找到一個類似的問題來解決這個問題: https://github.com/flutter/flutter/issues/65334
我添加了
buildTypes {
release {
minifyEnabled false
shrinkResources false
...
到我的 build.gradle 文件。 您還可以將這兩個值都設置為 true 並運行flutter run --release
以在本地重現問題。 當您使用flutter build appbundle
時,默認情況下它會縮小,而在本地運行時不會,這就是為什么在本地運行時沒有看到問題的原因。 它與正在修剪的谷歌登錄代碼有關。 這確實是一種解決方法。
將此庫添加到.yaml
google_sign_in: ^0.0.2
然后將其導入您的登錄屏幕
import io.flutter.plugins.GeneratedPluginRegistrant;
然后將此添加到 onCreate function
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}
在我的情況下,我嘗試從 MainActivity 調用方法,但在AndroidManifest.xml
活動標簽的名稱錯誤,如下所示:
"io.flutter.embedding.android.FlutterFragmentActivity"
所以我把它改成了
".MainActivity"
我在 react native 上遇到了同樣的問題,我所要做的就是更改 android/app/build.gradle
buildTypes {
release {
minifyEnabled true
到
buildTypes {
release {
minifyEnabled false
在再次運行之前同步並清理構建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.