Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not availabl

Android Studio 4.1.1编译失败,报如下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:packageParentPluginDebug'.
> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
   > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "C:\Users\xxx\.android\debug.keystore": Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

* 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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 25s

解决方法:
删除文件C:\Users\xxx.android\debug.keystore

### JavaHmacPBESHA256 算法不可用的原因 当遇到 `java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available` 错误时,通常是因为当前使用的 Java 安装环境中缺失必要的安全提供者或配置不正确[^2]。 ### 可能的解决方案 #### 方案一:更新 JDK 版本 确保正在使用最新版本的 JDK。某些较旧版本可能未包含所需的加密算法实现。建议升级至最新的 LTS (长期支持) 版本,这可以解决许多已知的安全性和兼容性问题[^3]。 #### 方案二:添加 Bouncy Castle 提供者 如果更新 JDK 后仍然存在问题,则可以通过引入第三方库来扩展系统的密码学功能集。Bouncy Castle 是一个广泛采用并受信任的开源项目,提供了丰富的加解密服务接口。具体操作如下: 1. 下载适合目标平台架构的 BC 库文件; 2. 将下载得到的 jar 文件放置于项目的依赖路径下; 3. 修改应用程序启动参数以注册新的 Security Provider; ```bash -Djava.security.manager -Djava.security.policy==/path/to/policy/file ``` 4. 或者编程方式动态加载: ```java Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); ``` 此方法已在多个案例中成功解决了类似的 NoSuchAlgorithmException 报告[^4]。 #### 方案三:检查现有 JCE 配置 有时即使存在正确的 JAR 包也可能因为策略限制而无法正常使用高级别的加密标准。此时应当确认本地计算机上的无限强度 Jurisdiction Policy Files 是否已经正确安装。对于 Oracle JDK 用户来说,默认情况下只包含了有限制版的政策文件,需手动替换为无限制版本才能启用全部特性[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值