当前位置: 首页 > news >正文

Flutter android debug 编译报错问题。插件编译报错

下面相关内容 都以 Mac 电脑为例子。 

一、问题

  1. 起因:(更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2)
    1. 最近 2025年 1 月 左右,我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。
    2. 当然 下面的提示只是其中之一,即便把所有插件都更新了 仍然不行,解决一个还会有第二个插件提示错误 flutter_localizations、firebase_messaging 等等 一个接一个全出现编译错误。

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':shared_preferences_android:compileDebugJavaWithJavac'.

> Could not resolve all files for configuration ':shared_preferences_android:androidJdkImage'.

   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.

      > Execution failed for JdkImageTransform: C:\Users\sdvs1\AppData\Local\Android\sdk\platforms\android-34\core-for-system-modules.jar.

         > Error while executing process C:\Program Files\Android\Android Studio_2024_2_1_9\jbr\bin\jlink.exe with arguments {--module-path C:\Users\sdvs1\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\sdvs1\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\jdkImage --disable-plugin system-modules}

* Try:

> Run with --stacktrace option to get the stack trace.

> Run with --info or --debug option to get more log output.

> Run with --scan to get full insights.

> Get more help at https://help.gradle.org.

  二、尝试查找原因

  1. 恢复老版本

    1. 并没有想太多 一定是更新所致, 所以尝试恢复了之前的版本,(Android studio giraffe、 Flutter SDK 3.22) 果然都正常工作了。
  2. 再次升级最新版本:(Android studio 2024.2.2.13、 Flutter SDK 3.27.2)

    1. 目的:新项目 不再想用老版本, 想都统一升级一下技术栈(再次升级最新版)
    2. 用新的 Flutter SDK 重新创建版本,安装项目依赖(所有依赖更新到最新版本)仍然出现错误。(空白项目可以启动,安装项目依赖例如:shared_preferences 就开始报错 )
  3.  查到 Flutter GitHub 有相关 issues: (不止个例 大部分人都出现了相关问题) 

    1.  issues 地址  Android plugins: `Failed to transform core-for-system-modules.jar to match attributes` errors with JDK 21 · Issue #156304 · flutter/flutter · GitHub
    2. 问题似乎出在 Android studio 身上。(最新版本 android studio 自带了 JDK 21)
    3. 手动修改 jdk 版本(JDK 17)
      1. 修改 JDK 文件路径 : android/app/build.gradle
        1.     compileOptions {sourceCompatibility JavaVersion.VERSION_17targetCompatibility JavaVersion.VERSION_17}kotlinOptions {jvmTarget = JavaVersion.VERSION_17}

      2. 修改构建工具包 gradle 文件路径 :android/gradle/wrapper/gradle-wrapper.properties
        1. distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip
      3. 修改 android/settings.gradle
        1.     id "com.android.application" version "8.3.1" apply false
  4. 开始正常运行

  5. 未知原因:心力憔悴

    1. 但是由于我不小心打开了其他 android 项目 导致下载了其他的 gradle。 不知道是不是这个原因, 又开始报错了~

  三、一劳永逸(解决)

  1. 准备降级Android stuido 最近可用的版本。(这个 JDK 21 目前来讲感觉很坑,或许是我没搞明白吧)

    1. 经过多个版本尝试 (最终下载 Android Studio Koala Feature Drop | 2024.1.2)
      1. Android Studio 历史版本下载地址: (只有英文版页面才能看到列表)Android Studio 下载文件归档  |  Android Developers
    2. 安装前 把之前版本 Android studio 删除
    3. 删除 与 资源库 同级的 AndroidStudioProjects 文件夹
    4. 删除资源库内的 Android , 如果有 java 文件夹 一并删除。
  2. 为防止出现意外情况,请务必按照上面说的卸载干净。

  3. 安装 (Android Studio Koala Feature Drop | 2024.1.2)

  4. 检查 Flutter Android 是否使用了 jdk17

执行 下面命令 即可出现上图的检查内容。java sdk 会默认指向 17 的版本

flutter doctor -v

当然如果 Flutter SDK 版本内容之间差距有些大,我的建议最好用当前的 Flutter SDK 重新初始化一个项目, 把老项目迁移过来即可,个人感觉成本要比老项目改低的多。

(如果按照这个解决方式、初始化新的项目 就不必按照上面 去修改 build.gradle、gradle-wrapper.properties、settings.gradle  等..配置文件了)

相关文章:

Flutter android debug 编译报错问题。插件编译报错

下面相关内容 都以 Mac 电脑为例子。 一、问题 起因:(更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2) 最近 2025年 1 月 左右,我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。当然 下面的提示只是其…...

关于IPD流程的学习理解和使用

IPD(Integrated Product Development,集成产品开发)是一种系统化的产品开发流程和方法论,旨在通过跨职能团队的协作和并行工程,缩短产品开发周期,提高产品质量,降低开发成本。IPD 最初由美国 PR…...

C# 类(Class)

C# 类(Class) 概述 在C#编程语言中,类(Class)是面向对象编程(OOP)的核心概念之一。类是一种用户定义的数据类型,它包含了一组属性(数据)和方法(…...

Jenkins pipline怎么设置定时跑脚本

目录 示例:在Jenkins Pipeline中设置定时触发 使用pipeline指令设置定时触发 使用Declarative Pipeline设置定时触发 使用Scripted Pipeline设置定时触发 解释Cron表达式 保存和应用配置 小结 在Jenkins中,定时跑脚本(例如定时执行Pip…...

PostgreSQL模糊查询相关学习参考

PostgreSQL大数据量快速模糊检索实践_postgresql 模糊查询-CSDN博客文章浏览阅读1.5k次,点赞20次,收藏25次。注意: 本文内容于 2024-08-18 23:50:33 创建,可能不会在此平台上进行更新。。_postgresql 模糊查询https://blog.csdn.n…...

【电脑无法通过鼠标和键盘唤醒应该怎么办】

【电脑无法通过鼠标和键盘唤醒应该怎么办】 方法一(有时候不起作用):方法二(方法一无效时,使用方法二): 方法一(有时候不起作用): 方法二(方法一无效时,使用方法二):...

Java 大视界 -- Java 大数据中的数据脱敏技术与合规实践(60)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

Vue3.5 企业级管理系统实战(三):页面布局及样式处理 (Scss UnoCSS )

本章主要是关于整体页面布局及样式处理,在进行这一章代码前,先将前两章中的示例代码部分删除(如Home.vue、About.vue、counter.ts、App.vue中引用等) 1 整体页面布局 页面整体布局构成了产品的框架基础,通常涵盖主导…...

【xcode 16.2】升级xcode后mac端flutter版的sentry报错

sentry_flutter 7.11.0 报错 3 errors in SentryCrashMonitor_CPPException with the errors No type named terminate_handler in namespace std (line 60) and No member named set_terminate in namespace std 替换sentry_flutter版本为: 8.3.0 从而保证oc的…...

windows在命令行中切换盘符

一、问题描述 我们在使用windows的cmd(命令行)时,经常需要用cd命令在不同盘之间切换路径。但有时在不同盘之间切换时,会发现命令不起作用。 如下图所示,直接切换目录还是停留在原来的位置。 二、解决方法 首先切换盘符…...

亚博microros小车-原生ubuntu支持系列:11手指控制与手势识别

识别框架还是沿用之前的了MediaPipe Hand。 背景知识不摘重复,参见之前的:亚博microros小车-原生ubuntu支持系列:10-画笔-CSDN博客 手指控制 src/yahboom_esp32_mediapipe/yahboom_esp32_mediapipe/目录下新建文件10_HandCtrl.py&#xff…...

JAVA-快速排序

目录 一、快速排序基本思想 二、快速排序的实现 1.Hoare法找基准值 2.挖坑法 3.前后指针法(了解) 三、快速排序的优化 1.三数取中法 2.递归到小的子区间时,可以考虑使用插入排序 四、非递归的写法 五、时间空间复杂度 一、快速排序基本思想 快速排序是 H…...

日志收集Day003

1.索引模板 查看所有索引模板 GET 10.0.0.101:9200/_template 2.查看单个索引模板 GET 10.0.0.101:9200/_template/.monitoring-es 3.创建索引模板 POST 10.0.0.101:9200/_template/lxctp {"aliases": {"DBA": {},"SRE": {},"K8S&qu…...

基于quartz,刷新定时器的cron表达式

文章目录 前言基于quartz,刷新定时器的cron表达式1. 先看一下测试效果2. 实现代码 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&…...

数学大模型MAmmoTH:通过混合说明调整建立数学通才模型

向悦和陈文虎是该项目的主要作者。他们这个项目推出 MAmmoTH,这是一系列专为解决一般数学问题而定制的开源大型语言模型 (LLM)。 MAmmoTH 模型在 MathInstruct 上进行训练,MathInstruct 是我们精心策划的指令调整数据集。 MathInstruct 已编译 来自 13 个…...

Opencv学习

Long time no see!哈哈,假期终于有时间做一点自己喜欢的东西了 还是想说,每天花一点时间投在自己喜欢的事情上,或者专攻一些平时不学的方向,真的很酷! 图片绘制 对于图像绘制,可以分为:图像创…...

python生成图片和pdf,快速

1、下载安装 pip install imgkit pip install pdfkit2、wkhtmltopdf工具包,下载安装 下载地址:https://wkhtmltopdf.org/downloads.html 3、生成图片 import imgkit path_wkimg rD:\app\wkhtmltopdf\bin\wkhtmltoimage.exe # 工具路径,安…...

剑指Offer|LCR 044.在每个树行中找最大值

LCR 044.在每个树行中找最大值 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例 1: 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9] 解释:1/ \3 2/ \ \ 5 3 9 示例 2: 输入: root [1,2,3] 输出: [1,3] 解…...

PWM信号概述

什么是PWM信号? PWM(Pulse-width modulation)是脉冲宽度调制的缩写。 脉冲宽度调制是一种模拟信号电平数字编码方法。 脉冲宽度调制PWM是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式。所以根据面积等效法…...

关于BAR(PCIE BAR或AXI BAR)的解释

假设某BAR的默认值是xxxx_0000(这里表示8个比特位),其中低4位不可写,可操作的最低位是4,所以该BAR的大小是2^416字节; 1、系统软件向BAR写0xFF 2、系统软件读BAR,读到的值是0xF0,于是…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...