【问题标题】:ANT Build - Signed APK Signature IssueANT Build - 签名的 APK 签名问题
【发布时间】:2014-07-05 20:58:30
【问题描述】:

当我在 Eclipse 中使用 Export Signed Application Package 构建并使用我第一次创建的密钥库时,它可以工作。

现在我正在尝试使用 ANT 构建发布 APK(不是调试),但是,当我尝试在我的真实手机(不是模拟器)上安装新 APK 时,它会显示 an existing package by the same name with a conflicting signature 而我不能安装。

当然,这意味着签名不正确,或者与密码类似。

这是我在 local.propeties 中输入的信息

sdk.dir=D:\\Documents\\Applications\\Android SDK

key.store=D:\\Projects\\myProject\\signature_key
key.alias=two words
key.store.password=PasswordUsing$and%
key.alias.password=PasswordUsing$and%

是的。 key.alias 有 2 个字(我的错,但现在已经晚了)

1) 格式是否有效?我应该为别名使用引号吗?我应该在密码中转义 $ 或 % 字符吗?

2) 我应该在 local.properties 中使用什么格式才能使密钥库/密码有效?

3) 我有什么遗漏吗?

【问题讨论】:

  • 你用的是netbeans还是为什么用ant?
  • 我正在使用 Eclipse 构建 Android 应用程序(如标签中所述)
  • 如果您的配置文件中的签名不正确,我认为该项目实际上不会被签名。我认为您的配置可能没问题(更改密码并查看它是否仍然完成或是否引发错误)。
  • 如果我更改密码,我会得到Keystore was tampered with, or password was incorrect: Password verification failed。使用正确的密码,构建成功,但它不起作用
  • 这可能是一个愚蠢的问题,但是您是否首先卸载了使用调试密钥签名的应用程序?还是您的手机运行的是以前的版本版本?

标签: java android eclipse ant build.xml


【解决方案1】:

这是完全正常的行为如果您之前已在手机上加载了应用程序的调试版本。操作系统将软件包识别为已经存在并拒绝安装已使用不同密钥签名的发布版本。

您必须先卸载调试版,然后安装发行版。

【讨论】:

    【解决方案2】:

    如果您想将应用部署到 Play 商店,则需要创建自己的密钥库(不要重复使用工具默认用于构建应用的调试密钥库)。

    使用导出向导导出您的项目(右键单击项目、Android、导出...)

    通过此向导时,可以选择生成密钥库,通过该选项并保存生成的密钥库文件(在安全的地方,如果您丢失了这些文件,您将永远无法将您的应用再次部署到 Play商店)。

    我认为您应该跳过 ANT,而使用向导 GUI。

    另外 - 请记住,如果您部署调试版本,则需要在部署正式签名的 APK 之前将其卸载。

    【讨论】:

    • 我没有使用调试密钥库。我在 local.properties 中引用了与向导一起使用的相同密钥库,但我认为格式不正确。
    • 将检查我的项目 ant 文件 - 我认为您仍然应该使用向导。
    • 我想使用 ANT 来避免使用向导。我想更新 100 个应用程序,所以当我想解决这个简单的问题时,你会理解我的观点。感谢您的检查
    • 我检查了我的项目,但没有那个文件。抱歉 - 我会用谷歌搜索(当然你有) - 祝你好运。
    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 2015-11-21
    • 2019-02-05
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多