温馨提示:这篇文章已超过472天没有更新,请注意相关的内容是否还可用!
摘要:在开发Android工程时,使用Flutter遇到了报错,提示无法应用FlutterPlugin类。这可能是由多种原因导致的,如插件版本不兼容、配置错误等。建议检查Flutter和Android Studio的版本是否匹配,并确保在项目中正确配置Flutter插件。查看构建脚本和gradle文件是否存在错误。针对此问题,可以尝试更新Flutter插件、清理项目并重新构建,或者寻求社区支持和专业指导以找到解决方案。
根据您提供的信息,错误是由于在settings.gradle
文件中配置的RepositoriesMode
与Flutter插件的仓库设置发生冲突导致的,当您尝试将RepositoriesMode
设置为FAIL_ON_PROJECT_REPOS
时,由于Flutter插件单独设置了仓库,构建过程会报错,为了解决这个问题,您需要将RepositoriesMode
设置为PREFER_PROJECT
。
下面是修改后的内容:
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_PROJECT) // 修改为 PREFER_PROJECT repositories { google() mavenCentral() } } rootProject.name = "BoostTestAndroid" include ':app' setBinding(new Binding([gradle: this])) evaluate(new File(settingsDir.parentFile, 'flutter_module/.android/include_flutter.groovy')) include ':flutter_module' project(':flutter_module').projectDir = new File('../flutter_module')
关于RepositoriesMode的解释和图片描述修正
在Gradle构建系统中,RepositoriesMode
用于配置构建过程中如何处理仓库的设置,有三种模式可供选择:
FAIL_ON_PROJECT_REPOS
: 如果项目或项目的插件单独设置了仓库,构建会直接报错抛出异常,这意味着任何额外的仓库设置都会导致构建失败。
PREFER_PROJECT
: 如果项目单独设置了仓库,则优先使用项目配置,忽略settings中的设置,这意味着即使您在settings文件中设置了仓库,项目的特定配置会覆盖这些设置。
PREFER_SETTINGS
: 任何通过项目单独设置或插件设置的仓库都会被忽略,只使用settings文件中定义的仓库设置,这意味着项目的特定仓库配置将被忽略。
在您的情况下,由于Flutter插件有自己的仓库设置,而您在settings.gradle
中配置了FAIL_ON_PROJECT_REPOS
,这导致了冲突和错误,您需要将RepositoriesMode
设置为PREFER_PROJECT
来解决这个问题,这样配置后,Gradle将优先使用项目中定义的仓库设置,忽略Flutter插件的单独设置,执行Gradle的同步操作以确保更改生效,希望这些修改能帮助您解决问题!
还没有评论,来说两句吧...