Android 颤振插件不工作(在通道颤振.plugins.io/Y上找不到方法X的实现)
我安装的几乎每一个插件(Facebook登录、谷歌登录和图像选择器)都会出现这个错误。 我的颤振项目是使用Kotlin和Swift支持以及AndroidX构建的 我已经尝试使用Android 颤振插件不工作(在通道颤振.plugins.io/Y上找不到方法X的实现),android,flutter,flutter-dependencies,Android,Flutter,Flutter Dependencies,我安装的几乎每一个插件(Facebook登录、谷歌登录和图像选择器)都会出现这个错误。 我的颤振项目是使用Kotlin和Swift支持以及AndroidX构建的 我已经尝试使用flatter clean清理flatter构建缓存,并从模拟器卸载应用程序 这是我的publispec.yaml version: 1.0.0+1 environment: sdk: ">=2.1.0 <3.0.0" dependencies: flutter: sdk: flutter
flatter clean
清理flatter构建缓存,并从模拟器卸载应用程序
这是我的publispec.yaml
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
material_design_icons_flutter: 3.2.3895
image_picker: ^0.6.1+8
firebase_auth: ^0.14.0+1
google_sign_in: ^4.0.6
flutter_facebook_login: ^2.0.1
flutter_bloc: ^0.20.1
equatable: ^0.2.0
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
module:
androidX: true
assets:
- lib/assets/
版本:1.0.0+1
环境:
sdk:“>=2.1.0Runflatterpub-get
然后在ANDROID项目中找到类io.flatter.plugins.GeneratedPluginRegistrant
确保facebook插件加载到此处:
publicstaticvoidregisterwith(PluginRegistry注册表){
if(alreadyRegisteredWith(注册表)){
返回;
}
registerWith(registry.registerFor(“com.roughike.facebooklogin.facebooklogin.facebooklogin”);
//加载其他插件代码。。。
}
确保按照说明(即androidmanifest.xml)在Facebook开发者帐户、build.gradle和firebase控制台中为您的插件设置Facebook登录插件。谷歌登录也是如此。
如果是这样的话,我建议你对插件进行注释并构建,以查看何时出现错误。你是使用Flatter的本机主机,还是将Flatter页面嵌入另一台主机?我甚至不知道你指的是什么,所以我想我使用的是默认配置。找到了提到的类,Facebook插件注册的行没有,也没有任何其他插件注册。你知道为什么以及如何解决它吗?你是否在项目目录中运行了flatter pub get
?你能给我看一下输出消息吗?@sbd2I运行了,输出是exit code 0
。顺便说一句,我通过打开MainActivity.kt
文件和ma来解决这个问题每年添加插件注册。之后(以及重建),非工作插件开始完美工作。我很想知道为什么这不会自动发生(如果你知道,请分享该信息)。我将接受正确的答案,因为它使我走上了解决问题的正确道路。MainActivity.kt
示例,添加了注册:class MainActivity:flatterActivity(){override fun onCreate(savedInstanceState:Bundle?{super.onCreate(savedInstanceState)GeneratedPluginRegistrAt.registerWith(this)FacebookLoginPlugin.registerWith(this.registerFor(“com.rawike.facebooklogin.facebooklogin.facebooklogin”))ImagePickerPlugin.registerWith(this.registerFor(“io.flatter.plugins.imagepicker.ImagePickerPlugin”)}
祝贺您!看起来Flatter build tool无法修改文件GeneratedPluginRegistrant.kt
。我发现您的文件GeneratedPluginRegistrant.kt
是只读的。请确保该文件不是只读的,然后再次运行Flatter pub get
。@sbd2对于Facebook登录,我已经完成了完整的设置(让它在另一个应用程序上工作,我不知道为什么它在这里不工作)。对于ImagePicker,文档说它应该可以开箱即用(这不完全正确,因为我必须添加存储权限),但它也不工作。