APK签名之keytool生成keystore和jarsigner签名apk (一)

2014-11-24 10:31:19 · 作者: · 浏览: 0

第一步:生成keystore

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


第二步:jarsigner签名apk

jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk android.keystore


附上keytool参数以及jarsigner参数:

keytool用法:

-certreq [-v] [-protected]

[-alias <别名>] [-sigalg ]

[-file ] [-keypass <密钥库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-changealias [-v] [-protected] -alias <别名> -destalias <目标别名>

[-keypass <密钥库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-delete [-v] [-protected] -alias <别名>

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-exportcert [-v] [-rfc] [-protected]

[-alias <别名>] [-file <认证文件>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-genkeypair [-v] [-protected]

[-alias <别名>]

[-keyalg ] [-keysize <密钥大小>]

[-sigalg ] [-dname ]

[-validity ] [-keypass <密钥库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-genseckey [-v] [-protected]

[-alias <别名>] [-keypass <密钥库口令>]

[-keyalg ] [-keysize <密钥大小>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-help

-importcert [-v] [-noprompt] [-trustcacerts] [-protected]

[-alias <别名>]

[-file <认证文件>] [-keypass <密钥库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-importkeystore [-v]

[-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]

[-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]

[-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]

[-srcprotected] [-destprotected]

[-srcprovidername <源提供方名称>]

[-destprovidername <目标提供方名称>]

[-srcalias <源别名> [-destalias <目标别名>]

[-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]

[-noprompt]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-keypasswd [-v] [-alias <别名>]

[-keypass <旧密钥库口令>] [-new <新密钥库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-list [-v | -rfc] [-protected]

[-alias <别名>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

-printcert [-v] [-file <认证文件>]

-storepasswd [-v] [-new <新存储库口令>]

[-keystore <密钥库>] [-storepass <存储库口令>]

[-storetype <存储类型>] [-providername <名称>]

[-providerclass <提供方类名称> [-providerarg <参数>]] ...

[-providerpath <路径列表>]

jarsigner用法: [选项] jar 文件别名

jarsig