报错:
PKCS12 keystore not in version 3 format
Execution failed for task ':app:packageRelease'.
> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
> com.android.ide.common.signing.KeytoolException: Failed to read key kaer from store "/Users/gamin/Documents/yunjuke/MF_CallPhone_Android/call-sign/platform.pk8": PKCS12 keystore not in version 3 format
* 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.
原因:
问题描述中提到的错误 PKCS12 keystore not in version 3 format
表明正在尝试使用一个非PKCS12格式的密钥库文件(在这种情况下是.pk8
文件),而Android的签名工具期望一个PKCS12格式的密钥库文件。.pk8
文件通常是一个私钥文件,而不是一个完整的密钥库文件,这也是为什么遇到了这个问题。
为了解决这个问题,需要将你的私钥(.pk8)和公钥证书(可能是.pem或.crt文件)合并成一个PKCS#12 格式的密钥库文件。
解决:
具体合并流程:https://blog.csdn.net/wsyx768/article/details/139090663
使用上面合并得到的 PKCS#12 证书重新打包apk, 问题就得到了解决。