You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter编译报错:PackageAndroidArtifact$IncrementalSplitterRunnable执行失败

解决Flutter调试模式下:app:packageDebug失败的HmacPBESHA256算法问题

这个错误核心是Java环境无法识别HmacPBESHA256算法,大概率和JDK版本、debug密钥库或安全配置有关,试试以下几个方案:

1. 核对并升级JDK版本

HmacPBESHA256是较新的加密算法,部分老旧JDK版本(比如JDK 8早期子版本)不支持该算法。

  • 打开终端执行 java -version,确认使用的是**Oracle JDK 8u161+**或OpenJDK 11及以上版本(优先匹配Flutter官方推荐的JDK版本)。
  • 如果版本不兼容,下载安装对应版本的JDK,更新系统环境变量JAVA_HOME指向新JDK的安装路径,重启IDE后重试。

2. 重新生成debug.keystore

原debug密钥库可能因损坏或生成时使用了不兼容算法导致读取失败:

  • 先备份原文件:复制C:\Users\Home\.android\debug.keystore到其他安全位置。
  • 删除原debug.keystore文件。
  • 打开终端,切换到.android目录:
    cd C:\Users\Home\.android
    
  • 执行以下命令重新生成调试密钥库:
    keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
    
  • 生成完成后重启Flutter项目,执行flutter run调试。

3. 检查Java安全策略配置

部分场景下Java安全策略会限制特定算法的使用:

  • 找到JDK安装目录下的安全配置文件:
    • JDK 8路径:JDK安装目录/jre/lib/security/java.security
    • JDK 11+路径:JDK安装目录/lib/security/java.security
  • 打开文件,查找jdk.tls.disabledAlgorithms条目,确保其中没有HmacPBESHA256,如果有则删除该算法后保存文件。
  • 重启IDE和Flutter项目重试。

4. 清理缓存并重新构建

缓存残留可能导致配置冲突:

  • 执行Flutter清理命令:
    flutter clean
    
  • 切换到项目的android目录,执行Gradle清理:
    gradlew clean
    
  • 重新执行flutter run启动调试。

内容的提问来源于stack exchange,提问作者DarkChoco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:55:04