一、报错背景
使用studio 创建签名,创建成功后报错:
KeytoolException: Failed to read key ox724yt from store "xxx.jks": Invalid keystore format
通过查找资料分析可能jdk版本不一致导致的,命令查询安装jdk版本:java -version,
本地环境jdk版本是17,而项目中用的是jdk1.8
二、解决方式
1、通过修改本地jdk环境变量,改成jdk1.8的路径,重新生成签名。
2、直接用jdk1.8的签名生成工具,keytool 程序,通过命令重新生成。
keytool -genkeypair -alias <别名> -keyalg RSA -keypass <密码> -keystore <签名文件名>.jks -storepass <密码> <文件保存路径(可有可无)>
参考:命令行生成Android jks签名文件并获取jks信息_获取jks签名文件信息-CSDN博客
----------------------------------------------
我用的是第二种,找到jdk1.8的bin目录。使用命令行 打开bin文件,使用上面命令
生成成功后。
开始打包,打包报错:Entry name 'classes.dex' collided,再打包运行一遍,成功!