Android簽名問題,jarsigner的問題

jarsigner: 找不到 qulordy 的證書鏈。qulordy 必須引用包含專用密鑰和相應的公共密鑰證書鏈的有效密鑰庫密鑰條目。

這就是錯誤的語句,提示。android

關於這個錯誤,網上說的比較少,找到一篇博客,是這麼說的:web

/**
 *這是那篇博客中提到的問題,以及解決方法,原文地址:http://blog.csdn.net/jzh2012/article/details/7400737
 *可是我看到這這個以後,仍是摸不清頭腦
 */

問題二:jarsigner: 找不到 androidapp.keystore 的證書鏈。androidapp.keystore 必須引用包含專用密鑰和相應的公共密鑰證書鏈的有效密鑰庫密鑰條目。
方法:在用keytool生成數字證書時必須保證:-keystore androidapp.keystore -alias androidapp.keystore 二者名稱必須相同。

OK,他說的是對的,可是太模糊了,給第一次搞得人弄的更模糊了。app

我就跟着他這個方向去找,有從新用命令生成了一個keystore,命令以下 eclipse

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

根據上面說的方法,:-keystore androidapp.keystore -alias androidapp.keystore 二者名稱必須相同。ui

我看了一下,的確相同,而後又eclipse中->Android Tools -> Export Signed Application Package...spa

而後use existing keystore,此次居然能夠,那麼說明個人keystore是沒錯的,問題確定在eclipse或者個人build.xml跟custom_rules.xml裏面。.net

可是1.eclipse確定不會錯code

跟着2.build.xml是自動生成的,也不會錯(固然懷疑權威的態度是很好的,可是這裏我選擇了相信)orm

最後3.就只能是我寫的custom_rules.xml出了問題了。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中其餘地方在用就不會錯了

相關文章
相關標籤/搜索