Android签名问题,jarsigner的问题

jarsigner: 找不到 qulordy 的证书链。qulordy 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

这就是错误的语句,提示。

关于这个错误,网上说的比较少,找到一篇博客,是这么说的:

/**
 *这是那篇博客中提到的问题,以及解决方法,原文地址:http://blog.csdn.net/jzh2012/article/details/7400737
 *但是我看到这这个之后,还是摸不清头脑
 */

问题二:jarsigner: 找不到 androidapp.keystore 的证书链。androidapp.keystore 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。
方法:在用keytool生成数字证书时必须保证:-keystore androidapp.keystore -alias androidapp.keystore 两者名称必须相同。

OK,他说的是对的,但是太模糊了,给第一次搞得人弄的更模糊了。

我就跟着他这个方向去找,有重新用命令生成了一个keystore,命令如下

keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

根据上面说的方法,:-keystore androidapp.keystore -alias androidapp.keystore 两者名称必须相同。

我看了一下,的确相同,然后又eclipse中->Android Tools -> Export Signed Application Package...

然后use existing keystore,这次竟然可以,那么说明我的keystore是没错的,问题肯定在eclipse或者我的build.xml跟custom_rules.xml里面。

但是1.eclipse肯定不会错

跟着2.build.xml是自动生成的,也不会错(当然怀疑权威的态度是很好的,但是这里我选择了相信)

最后3.就只能是我写的custom_rules.xml出了问题了。

经过详细检查果然,(下面的代码是custom_rules.xml中的)

    <property
        name="keystore"
        value="android.keystore" />
    <property
        name="keystore.password"
        value="your password" />
    <property
        name="key.alias"
        value="andy.com" /> <!-- 这里错了 用到引用的博文的解决方法了 -->

将上面改成

    <property
        name="keystore"
        value="android.keystore" />
    <property
        name="keystore.password"
        value="your password" />
    <property
        name="key.alias"
        value="android.keystore" /> <!-- 跟keystore保持一致, 我终于明白了这句话的意思了 -->

然后custom_rules.xml中其他地方在用就不会错了

时间: 2024-08-03 15:31:28

Android签名问题,jarsigner的问题的相关文章

Android签名工具的创建及使用

cmd命令位于C:\Windows\System32\cmd.exe. 使用set命令 查看所有环境变量及其对应的值,使用echo %SystemRoot% 查看环境变量的值. Android签名工具位于D:\Java\jdk1.8.0_45\bin\keytool.exe. 1.创建签名文件 在命令行输入 keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass

Android签名机制:生成keystore、签名、查看签名信息

Android独有的安全机制,除了权限机制外,另外一个就是签名机制了.签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查. 升级App 用户在升级一款已经安装过的App时,如果程序的修改来自于同一来源,则允许升级安装,否则会提示签名不一致无法安装的提示. 权限检查 我曾在Android Permission权限机制的具体使用一文中提过,对于申请权限的  protection level 为 signature 或者 signatureOrSystem 的,会检查权限申请者和权限声明

Android签名总结

一.为什么要签名 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的. 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换. APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉. 这样签名其实也是开发者的身份标识.交易中抵赖等事情发生时,签名可以防止抵赖的发生. 二.

Android 签名详解

在Android 系统中,所有安装 到 系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应 用程序才能取得该权限.Android使用Java的数字证书相关的机制来 给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制.Android系统要求每一个

Android签名机制之---签名过程具体解释

一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.由于前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了..我说Android中的签名大家都会熟悉的,就是为了安全,不让别人改动你的apk,可是我们真正的有了解多少呢?所以准备两篇文章好好介绍一下Android中签名机制. 在说道Android签名之前,我们须要了解的几个知识点 1.数据摘要(数据指纹).签名文件,证书文件 2.jarsign工具签名和signapk工具签名 3

[转载] Android签名机制之—签名过程详解

本文转载自: http://www.wjdiankong.cn/android%E7%AD%BE%E5%90%8D%E6%9C%BA%E5%88%B6%E4%B9%8B-%E7%AD%BE%E5%90%8D%E8%BF%87%E7%A8%8B%E8%AF%A6%E8%A7%A3/ 一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了..我说Android中的签名大家都会熟悉

Android签名机制之---签名过程详解

一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了..我说Android中的签名大家都会熟悉的,就是为了安全,不让别人修改你的apk,但是我们真正的有了解多少呢?所以准备两篇文章好好介绍一下Android中签名机制. 在说道Android签名之前,我们需要了解的几个知识点 1.数据摘要(数据指纹).签名文件,证书文件 2.jarsign工具签名和signapk工具签名 3

Android 签名机制

1.如何对APK签名 (1).创建数字证书,android123.keystore keytool -genkey -alias android123.keystore -keyalg RSA -validity 20000 -keystore android123.keystore keytool工具是Java JDK自带的证书工具 -genkey参数表示:要生成一个证书(版权.身份识别的安全证书) -alias参数表示:证书有别名,-alias android123.keystore表示证书

Android签名生成和互转

原文链接:http://blog.votzone.com/2018/05/05/android_signature.html Android 的签名有两种方式,一种使用jdk 提供的jarsigner工具签名keystore 文件,另一种是Android 自己提供的signapk.jar 通过.pk8(密钥) 和.x509.pem(证书)两个签名文件完成签名. 之前对一个包签名都是直接使用signapk来的,因为不需要输入密码即可直接签名,简单直接,今天上传百度时遇到问题了,下载下来签名说明文档

Ionic Android 签名打包配置

onic Android 签名打包配置 Android SDK Tools配置 所谓的Anrdoid打包,就是将ionic项目打包成一个可以安装在Android系统上的apk文件,打包的时候,使用的是cordova工具,不过在此之前,需要一些准备工作:配置JDK.Android SDk还有各个android版本包的下载,最重要的是需要成功的创建了一个Ionic项目,有关ionic项目创建的详细教程,请参考以下文章: Ionic3 Start 配置JDK 主要就是以下流程:下载 > 配置环境变量