【问题标题】:Why an APK won't be signed?为什么 APK 不会被签名?
【发布时间】:2013-10-25 16:57:35
【问题描述】:

我有一个奇怪的情况,未签名的版本是构建的......但不是签名的 APK!

以下是有关此的一些信息:

* 我使用的是 ant,而不是 eclipse。

  • 我通过运行以下命令在命令行中创建了 store 键:

    keytool -genkey -v -keystore C:\my.keystore -alias my_alias.keystore -keyalg RSA -keysize 2048 -validity 10000

这会将密钥库放在 C:\

现在,要签署 apk,我使用以下命令(在构建过程中):

jarsigner -storepass password -verbose -keystore "C:\Android-Enviroment\my.keystore" -signedjar "C:\Documents and Settings\O\Desktop\Project\bin\project-signed.apk" "C:\Documents and Settings\O\Desktop\Project\bin\Project-release-unsigned.apk" my_alias.keystore -digestalg SHA1 -sigalg MD5withRSA

这会导致构建未签名的 apk:Project-release-unsigned.apk 没有 Project-signed.apk

所以...问题:

1- 创建密钥和/或构建源代码有什么问题吗?

2- 如何调试这个?我的意思是我怎么知道为什么生成的密钥不起作用?!

我是初学者,所以答案可能很明显,但我真的想不通!

感谢您的帮助...

【问题讨论】:

  • 你在构建之前尝试过清理吗?
  • @Blaine 你说的干净是什么意思?对不起,如果这很明显,我真的才刚刚开始:)
  • 转到项目 > 清理。 Android 具有自动生成的文件,这将重新生成这些文件。
  • @Blaine 我使用的是 ANT 而不是 eclipse,谢谢。
  • 嘿@Blaine 你的建议是正确的:) 我在之前的构建之后手动清理了所有文件......然后再次运行命令......一切都很顺利,apk已成功签署。如果您重复您的评论作为答案,我会接受。谢谢你的建议,想想。

标签: android ant apk code-signing private-key


【解决方案1】:

在尝试使用新类型的密钥进行签名之前,请确保清理您的项目。

要执行此操作,请转到“项目”>“清理”。

然后重建。

【讨论】:

  • 这就确定了...一旦我清理了源代码,它就可以毫无问题地签名了。谢谢。
猜你喜欢
  • 2020-09-14
  • 2013-01-17
  • 1970-01-01
  • 2015-02-01
  • 2017-03-08
  • 2019-07-04
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多