签名APK会导致安装失败。

3

我正在使用命令行 jarsigner.exe -keystore Keys.jks base.apk debug0 用自己的密钥重新签名 APK,在删除 META-INF/CERT.RSA、CERT.SF 和 MANIFEST.MF 的情况下,不触及其他任何内容。

我的问题是,在重新签名后,通过 adb install base.apk 安装时出现错误 Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]

我应该如何解决这个问题?在 AndroidManifest 中,extractNativeLibs 被设置为 false,至少根据 apktool 可以解码的内容是这样。因此,我不认为库应该被提取...


错误消息通常表示apk包含的本地库与您安装应用程序的设备架构不匹配。 - T. Neidhart
谢谢,但我已经说过了,在重新签名之前我可以安装APK文件,但在重新签名之后就不能安装了。在签名过程中,不会对文件结构进行任何更改。 - Daniel D.
您正在安装应用程序的设备是哪个?使用jarsigner可能不支持较新的签名方案,因此这些信息可能会损坏并导致错误。请尝试使用apksigner,它可以确保正确的签名方案被清除/使用。 - T. Neidhart
1个回答

7
要让它正常工作,我必须:
  1. 压缩apk文件(使用"zipalign.exe -p 4 base.apk base_aligned.apk")
  2. 使用apksigner签名(使用"apksigner.exe -ks Store.ks base_aligned.apk")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接