今日独立开发了,一款小游戏,想在渠道上进行发布,在使用秘钥签名的过程中,积累了一下经验和错误的教训,在这里进行总结,和大家进行分享
首先,在签名自己的程序之前,要生成keystore
1、 keystore命令行
按照下面的命令行在C:\ProgramFiles\Java\jdk1.6.0_10\bin>目录下,输入
keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore
参数意义:-validity主要是证书的有效期,写100000天;空格,退格键都算密码 。
-alias keystore的别名
-keyalg 使用的密钥算法
-keystore 密钥库的名字
出现的输入界面 :
证明生成的密钥已经成功。
然后对自己的应用进行签名,有两种方法,其一通过完全命令行的方式进行签名,其二通过eclipse开发工具进行签名。下面分别讲述这两种方式:
1、 通过eclipse的方式签名apk
选择要打包的项目,右键点击–>Androidtools–>ExportSignedApplicationPackage…如图-2
![](http://www.zhujiangroad.com/upload/2011/11/201111134227.jpg)
图-2 Eclipse Android打包工具
接下来的步骤就是不断的next 。下面仅贴出图片,不解释 。
![](http://www.zhujiangroad.com/upload/2011/11/201111132024.jpg)
step2:选择打包的项目
![](http://www.zhujiangroad.com/upload/2011/11/201111135976.jpg)
step3:选择生成的Eclipse Android.keystore文件并输入密码
![](http://www.zhujiangroad.com/upload/2011/11/201111134120.jpg)
step4:选择aliaskey并输入密码
![](http://www.zhujiangroad.com/upload/2011/11/201111132344.jpg)
step5:最后选择生成androidapk文件的目录及文件名
![](http://www.zhujiangroad.com/upload/2011/11/201111135015.jpg)
最终生成的apk文件 。
2、 通过命令行的方式签名
1、将证书复制到与需要重新签名的apk文件相同的目录下
2、进入该目录下执行以下语句
| jarsigner -verbose -keystore CERT.keystore -signedjar weibo_signed.apk
netease_microblog_android_unsigned.apk CERT |
命令解释:
jarsigner是Java的签名工具,JDK自带
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的android.keystore签名证书文件。
--signedjar weibo_signed.apk netease_microblog_android_unsigned.apk表示签名后生成的APK名称为 weibo_signed.apk,未签名的APK Android软件名称为netease_microblog_android_unsigned.apk
CERT: 表示签名文件的别名,生成证书的时候有书写
执行以上操作之后在目录下生成了weibo_signed.apk ,经过自己签名的APK文件
最后无论是使用的那种方式的签名,都要使用android tools中的zipalign.exe可执行文件,进行优化处理
C:\Users\Administrator>zipalign -v 4 SmallLink.apk D:\SmallLink.apk
zipalign 提高了程序的效率和稳定性。如果不进行这一步的话,签好名字的apk文件,有可能无法安装。