有些时候,某些应用市场上已经存在自家平台的APP了,所以在更新版本时要先进行认领,普遍是通过包名进行搜索到自家APP,比如“com.xueli.mydemo”,然后应用市场会给你提供一个空包进行签名,今天就来讲讲我踩过的坑。
第一坑:jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Invalid keystore format
C:\Program Files\Java\jdk1.8.0_45\bin>jarsigner -verbose -keystoreE:\Android证书 -signedjar xueli.apk TestSign.apk xueli.keystore
原因就在红色区域,-keystore后面要求接的是我们签名文件的绝对路径,也就是我们平时用Android Studio打包时的Key store path,如下图。
然而当我改了绝对路径,变成了下面这样再次输入,又遇到了第二坑。
C:\Program Files\Java\jdk1.8.0_45\bin>jarsigner -verbose -keystore E:\Android证书\xueli.keystore -signedjar xueli.apk TestSign.apkxueli.keystore
第二坑:jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Keystore was tampered with, or password was incorrect。
我用Key store password和Key password都试了都提示我这个,可这个没有错啊!后来我发现在最后要输入的是别名,那么什么是别名呢?其实就是上张图中我用红色遮盖的部分——key alias,他不应该是“xueli.keystore”,而是xueli。好的,问题终于解决了,这篇博客就当是记录吧~