【发布时间】:2021-07-29 22:31:16
【问题描述】:
我正在尝试更新现有的 Android 应用,但在生成签名 APK 时出现以下错误消息:Algorithm HmacPBESHA256 not available
我已经在 Internet 上搜索了解决方案,包括 StackOverflow 上的解决方案,但我在任何地方都找不到。我知道当前的密钥库使用 SHA1withRSA,但我不知道如何将其转换为 HmacPBESHA256。很遗憾,Google Play 支持也帮不了我,因为这个问题太技术性了。
为了清楚起见,这里是完整的通知:
任务“:app:packageRelease”执行失败。 执行 com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable 时发生故障 com.android.ide.common.signing.KeytoolException:无法从存储“/Users/KDApps/Documents/KDApps/original-signing-keystore.jks”读取密钥1:完整性检查失败:java.security.NoSuchAlgorithmException:算法HmacPBESHA256不可用
【问题讨论】:
-
这是Java中找不到加密算法的问题。在Java 12 中添加了它的支持。见类似讨论:stackoverflow.com/a/59625191/13482100
-
@Kuzneц 我正在使用 Java 16,但仍然出现此错误。我还有什么遗漏吗?
-
有几个地方用到了java。我从设置 JAVA_HOME 指向 JDK 16 开始,并尝试使用 JDK16/bin/keytool。如果它开箱即用 - 我会仔细检查用于运行 Gradle 的 JVM。默认情况下,Android Studio 使用自己的 JDK11 发行版来运行 gradle 进程。检查此讨论:stackoverflow.com/questions/19608742/…
-
这对我来说很好用 :) https://stackoverflow.com/a/69697914/5958045
-
这对我来说很好用 :) https://stackoverflow.com/a/69697914/5958045
标签: android android-studio apk android-keystore signed-apk