首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >签约安卓apk : INSTALL_PARSE_FAILED_NO_CERTIFICATES

签约安卓apk : INSTALL_PARSE_FAILED_NO_CERTIFICATES
EN

Stack Overflow用户
提问于 2015-04-24 06:18:56
回答 1查看 5K关注 0票数 2

我正在尝试签署一个使用Processing创建的Android apk。

下面是我所做的(基于这个:http://www.akeric.com/blog/?p=1352 ):

代码语言:javascript
复制
keytool -genkey -v -keystore myapp-release-key.keystore -alias myname -keyalg RSA -keysize 2048 -validity 10000

ant release

jarsigner -verbose -keystore myapp-release-key.keystore <PATH>/android/bin/<APPNAME>-release-unsigned.apk myname

jarsigner -verify <PATH>/android/bin/<APPNAME>-release-unsigned.apk

zipalign -v 4 bin/<APPNAME>-release-unsigned.apk bin/<APPNAME>-release.apk

adb install bin/<APPNAME>-release.apk

但我得到一个错误:

代码语言:javascript
复制
INSTALL_PARSE_FAILED_NO_CERTIFICATES

jarsigner验证使用以下命令终止:

代码语言:javascript
复制
s = signature was verified 
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope

jar verified.

Warning: 
    This jar contains entries whose certificate chain is not validated.
    This jar contains signatures that does not include a timestamp. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2042-09-08) or after any future revocation date.

有什么不对劲的想法吗?和这些警告有什么关系?

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 22:40:31

确保将以下两个选项添加到jarsigner命令中:-sigalg SHA1withRSA -digestalg SHA1,即使您在生成密钥时已经指定了类似的内容。就像这样:

代码语言:javascript
复制
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myapp-release-key.keystore <PATH>/android/bin/<APPNAME>-release-unsigned.apk myname

我花了很长时间才意识到这些不是可选的。医生在这一点上肯定不清楚。

希望这能有所帮助。祝好运。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29835359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档