Plugin [id: ‘flutter‘] was not found in any of the following sources解决方法

news/2024/12/14 21:33:37/

在这里插入图片描述

文章目录

  • 错误描述
  • 解决方法
      • 修正方案:继续使用 `apply from`
      • 修正后的 `build.gradle`
      • 说明
      • 警告的处理
      • 进一步验证

错误描述

Plugin [id: ‘flutter’] was not found in any of the following sources:

  • Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/7.5/userguide/standard_plugins.html for available core plugins)
  • Plugin Repositories (plugin dependency must include a version number for this source)
    image.png

解决方法

报错提示 Gradle 无法找到 flutter 插件,因为它不是 Gradle 的核心插件,且没有指定插件的来源和版本。Flutter 插件是通过 apply from 方式引入的,而不是通过 Gradle Plugin Portal 或类似的插件仓库。

要修正这个问题,需要调整配置,正确引入 Flutter 的 Gradle 插件。


apply_from_18">修正方案:继续使用 apply from

由于 Flutter 的 Gradle 插件是 Flutter SDK 自带的,目前还不能直接通过 plugins 块引入。因此,仍需保留以下语句:

gradle">apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

完整的 build.gradle 文件应该保持如下结构:


gradle_29">修正后的 build.gradle

gradle">apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {localPropertiesFile.withReader('UTF-8') { reader ->localProperties.load(reader)}
}def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {flutterVersionCode = '1'
}def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {flutterVersionName = '1.0'
}android {compileSdkVersion flutter.compileSdkVersionndkVersion flutter.ndkVersioncompileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}kotlinOptions {jvmTarget = '1.8'}sourceSets {main.java.srcDirs += 'src/main/kotlin'}defaultConfig {applicationId "com.example.learning"minSdkVersion 21targetSdkVersion flutter.targetSdkVersionversionCode flutterVersionCode.toInteger()versionName flutterVersionName}buildTypes {release {signingConfig signingConfigs.debug}}
}flutter {source '../..'
}dependencies {implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"implementation 'com.android.support:multidex:1.0.3'
}

说明

  • apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 是 Flutter 官方推荐的加载方式。
  • 当前 Flutter SDK 尚未将插件迁移到 Gradle Plugin Portal,因此无法通过 plugins 块直接声明。

警告的处理

虽然警告仍然存在,但这是 Flutter 官方插件机制的限制。在未来的 Flutter 版本中,官方可能会发布新的机制来消除这种警告。


进一步验证

  1. 清理项目:
    flutter clean
    
  2. 重新生成 APK:
    flutter build apk
    

结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!


http://www.ppmy.cn/news/1555114.html

相关文章

spark connector部分更新写starrocks 出现磁盘暴涨

问题描述: 对starrocks中的主键模型表中的亿级大表中的部分字段进行更新操作,但是更新过程中发现sr集群磁盘出现暴涨,直接导致其他业务数据写入报错。 基础信息: spark: 3.3.2 starrocks: 3.2 更新字段数:5列4亿行 数…

The Past, Present and Future of Apache Flink

摘要:本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024上海站主论坛开场的分享,今年正值Flink开源项目诞生的第10周年,借此时机,王峰回顾了Flink在过去10年的发展历程以及 Flink社区…

【React】ant-design 重置表单

官网中的所在位置&#xff1a; 1、在组件中配置&#xff1a; const [form] Form.useForm(); 2、在点击重置按钮的函数中配置&#xff1a; form.resetFields() 3、在表单中配置&#xff1a; <Form form{form}>...</Form>

【人脸检测】OpenCV调用深度学习模型实现人脸检测-java

介绍 这个Dome是利用OpenCV加载Tensorflow训练的模型&#xff0c;然后返回图片中人脸的位置信息&#xff0c;然后再显示出来 效果&#xff0c;大家可以参考这里7.46 复制打开抖音&#xff0c;看看【写的一手烂代码的作品】人脸检测 java也能用深度学习模型&#xff0c;识别率…

基于决策树方法的心脏病患者患病因子的可视化分析

1 概述 心脏病作为全球范围内的主要健康问题,其患病因素分析与可视化研究具有重要的公共卫生意义。心脏病的发病机制复杂,涉及遗传、环境、生活方式等多种因素。随着社会的发展和生活方式的变化,心脏病的患病率在全球范围内持续上升,特别是在发展中国家,这一趋势更加明显…

杭州乘云联合信通院发布《云计算智能化可观测性能力成熟度模型》

原文地址&#xff1a;杭州乘云联合中国信通院等单位正式发布《云计算智能化可观测性能力成熟度模型》标准 2024年12月3日&#xff0c;由全球数字经济大会组委会主办、中国信通院承办的 2024全球数字经济大会 云AI计算创新发展大会&#xff08;2024 Cloud AI Compute Ignite&…

AI 生成的一个基于springboot后端权限框架

构建一个完整的基于Spring Boot的权限管理系统是一个庞大的任务&#xff0c;涉及多个模块和复杂的业务逻辑。由于代码量较大&#xff0c;我将提供一个简化版本的框架结构&#xff0c;并详细解释每个部分的关键实现。你可以根据需要进一步扩展和完善这个系统。 项目结构 src ├…

前端(模块化)

未使用模块化 定义两个js文件simple1.js和simple2.js let a11; let a11; 两个js文件变量重名 在html测试 传统引入js文件 <script src"./simple1.js"></script> <script src"./simple2.js"></script> 浏览器报错 使用模块…