1、同一开发者的多个程序尽可能使用同一数字证书。
2、数字签名时,要考虑数字证书的有效期:
(1)数字证书的有效期要包含程序的预计生命周期,如果数字证书失效,持有该数字证书的程序将不能正常升级;
(2)如果多个程序使用同一数字证书,则该数字证书的有效期要包含所有程序的预计生命周期;
(3)Android Market强制要求所有应用程序数字证书的有效期要持续到2033年10月22日以后。
3、Android数字证书的几个要点:
(1)所有的应用程序都必须有数字证书,Android系统不会安装没有数字证书的应用程序;
(2)Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证;
(3)如果要发布一个应用程序,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或ant工具生成的调试证书来发布;
(4)数字证书都具有有效期,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已安装在系统中,即使证书过期也不会影响程序的正常功能;
(5)Android使用标准的java工具keytool和Jarsigner来生成数字证书,并给应用程序包签名;
(6)使用zipalign优化程序。
4、Android开发工具给apk程序签名的方式:
(1)调试模式(debug mode):adt每次编译时签名;
(2)发布模式(release mode):开发者自己签名;
5、要发布程序,两种方法给应用程序签名:
(1)使用keytool和jarsigner(适合1.5一下的版本)
命令:keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000
说明:1)-keystore:生成的证书,可以加上路径;
2)-alias:证书的别名;
3)-keyalg:采用的算法;
4)-validity:有效期。
(2)适合1.5以上版本
Eclipse->项目右键->android tools->export siged application package->next->create new keystore,填写信息->next->填写信息->next->finish