我正在尝试将我的 apk 上传到 Clover Marketplace。我使用带有 v1 签名的 apksigner 签署了我的 apk。但是当我将我的 apk 上传到 Clover Marketplace 时,我得到了这个错误。
我错过了什么?
我用这个命令来签署我的 apk
java -jar apksigner.jar sign --ks mykey.jks --ks-key-alias mykey --v2-signing-enabled false --v3-signing-enabled false --out myapp.apk ~/Desktop/app-release.apk
AFAIK META-INF/CERT.RSA 是应用程序 apk 的一部分,它是在您使用密钥库对应用程序进行签名时生成的。
可以运行这条命令看看
jarsigner -verify -verbose -certs app/release/app-release.apk
在我的例子中,文件以某种方式保存为 META-INF/KEY0.SF、META-INF/KEY0.RSA。我相信如果文件未保存为 CERT.RSA
,Clover 市场会拒绝该应用程序jarsigner -verify -verbose -certs app/release/app-release.apk
确认文件重命名为 META-INF/CERT.SF、META-INF/CERT.RSA
我不知道在退出应用程序后文件是如何重命名的。我再次尝试使用另一个 keyalias 来查看它是否再次重命名。但它在文件重命名为 CERT.RSA 后并没有重命名文件
对于在 Windows 上面临同样问题的人
我从提供的示例命令三叶草中删除了
--v1-signer-name
并且它有效。
最后的完整命令是
apksigner.bat sign --ks keystore.jks --v1-signing-enabled=true --v2-signing-enabled=false --v3-signing-enabled=false --in app-release-unsigned.apk