您的位置:首页 > 移动开发 > Android开发

使用命令行对Android应用签名

2017-01-15 10:43 288 查看
基于命令行的方式对APK文件进行签名。 

第一步:生成RSA密钥对 
keytool -genkeypair -alias magick.keystore -keyalg RSA -validity 400 -keystore magick.keystore 

-genkeypair 指定生成密钥对 
-alias 密钥对的别名 
-keyalg 密钥对用于的算法,这里用的是RSA 
-validity 密钥对的有效期,单位为天 
-keystore 密钥对存储的文件名 

输入后,根据提示输入相应的内容就好了。 

第二步:生成未签名的apk文件 
这个就随便生成一下了,比如在ant debug后,会生成一个 403Bible-debug.apk 文件,这个是采用调试签名的,一般未签名的文件是含有unsigned的。 

第三步:对未签名的apk进行签名 
jarsigner -verbose -keystore magick.keystore -signedjar Magick.apk Magick_unsigned.apk magick.keystore 

注意:最后的magick.keystore 应该是签名文件的别名,不是keystore文件

-verbose 输出签名详细信息 
-keystore 指定密钥对的存储路径 
-signedjar 后面三个参数分别是 签名后的APK包 未签名的APK包 和 密钥对的别名 

签名时,会要求输入密钥对的密码,这个是你在生成密钥时输入的密码 

第四部:优化apk包 
这一步是可选的,用来将apk包进行整理,以适应设备的读取等 
zipalign -f -v 4 Magick.apk Magick_zip.apk 

-f 强制覆盖已有的文件 
-v 输出详细内容 
4 指定档案整理的字节数,一般为4,及32位。如果以后android的设备有64位的,可能要改成8吧。 
Magick.apk 是未整理的apk文件名 
Magick_zip.apk 是整理后的apk文件名 

至此使用命令行对android应用的发布以及优化就算完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息