apksigner,zipalign和jarsigner无法按预期运行

时间:2018-11-19 13:53:52

标签: android xamarin.android google-play apk android-install-apk

我已经在Windows 10中使用Visual Studio 2017创建了Xamarin Form应用程序,并将Android应用程序存档为APK文件。

当我将APK上传到Google Play控制台以更新我的现有应用时,它表示APK未签名。然后我使用此命令使用相同的证书对APK进行签名

apksigner sign --ks <KEYSTORE_FILE_NAME> --ks-key-alias <ALIAS_NAME> <APK_FILE_NAME>

当我尝试上传已签名的APK时,它说APK没有zipaligned。然后我用这个命令zipalign

zipalign -f -v 4 <OLD_APK_FILE_NAME> <NEW_APK_FILE_NAME>

当我将经过zipaligned的APK上传到控制台时,它表示APK未签名。使用apksigner签名后,它说它没有zipaligned。我不断在同一个圈子中循环。

即使我先将APK压缩并对齐后,相同的错误消息也会在同一圆圈中一次又一次地显示。

即使我使用了 jarsigner ,情况也是如此。

我按照此处给出的步骤

https://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/publishing/signing-the-app-package/manually-signing-the-apk/

但APK未上传。我在做什么错了?

请注意,这不是重复的问题。

2 个答案:

答案 0 :(得分:0)

apksigner要求您zipalign才能签名。 jarsigner要求您在签名后zipalign。这是documented in the zipalign docs

答案 1 :(得分:0)

不可能解决。现在,当Google Play要求使用apksigner而不是jarsigner时,就无法对apk进行签名和zipalign。

如果您使用apksigner,则您以前使用过zipalign,但是我得到的信息是: “您上传了一个未经过zip对齐的APK。您需要在APK上运行一个zip对齐工具,然后再次上传。”

如果我在apksigner之后齐拉普利安,它就不再签名了。

我想apkbundle已被推送到Google Play的vendorlock应用中。

如果找到解决方案,我会在这里发布。