创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入
C:\Documents and Settings\mzba>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
相关说明:
-genkey 产生密钥
-alias demo.keystore 别名 demo.keystore
-keyalg RSA 使用RSA算法对签名加密
-validity 40000 有效期限4000天
-keystore demo.keystore
C:\Documents and Settings\mzba>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
相关说明:
-verbose 输出签名的详细信息
-keystore demo.keystore 密钥库位置
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和keystore中的别名而不是keystore文件.
如果签名是.jks文件
jarsigner -verbose -keystore xxx.jks -signedjar xxx.apk(签名后的apk名字) xxx.apk(需要签名的apk) xxx(keystore别名) 以linux下为例: 进入android sdk下的platform-tools:输入如下指令 jarsigner -verbose -keystore /cloud/xxx.jks -signedjar /cloud/app.apk( /cloud/app-unsigned.apk xxx 然后输入密码,即可签名成功。