如何发布android应用程序

来源:互联网 发布:新疆网络干部学院 编辑:程序博客网 时间:2024/04/30 20:06
如何发布android应用程序
http://blog.chinaunix.net/space.php?uid=20665441&do=blog&id=305500

主要讲的是应用程序数字签名


1    Eclipse中,选择Android Tools->Export Unsigned Application Package... ,
     接下来,系统会提示你输入apk文件的保存地址。这样我们就编译生成了发布版的未签名的apk文件. eg.sdialer.apk

2    完成了发布版的编译,接下来是获取私钥,会用到JDK下的两种工具:keytool和jarsigner. keytool是生成私钥的工具。

keytool命令的解释:
-genkey                                                           产生一个密钥对(公钥和私钥)
-v                                                                      开启详细输出
-keystore<keystore-name>.keystore         包含私钥的keystore名称
-storepass<password>                                 keystore的密码。安全起见,通常建议不要在命令行输入这个选项,如果你不提供这个选项,
                                                                          keytool就会提示你输入密码,这样你的密码就不会保存在shell历史中。
-alias<alias_name>                                     密钥的别名
-keyalg<alg>                                                 产生密钥的加密算法,可以采用DSA和RSA中的一种
-dname                                                           用于描述密钥的产生者。这个值将作为自签名证书中的发布者。如果你此时没有输入,那么在执行签名时,
                                                                         jarsigner会提示你输入 dname(distinguished  name)
-validity                                                           密钥的有效期,这里以天来计算。我们通常建议大于10000天
-keypass<password>                                  密钥的密码,安全起见,通常建议不要在命令行输入这个选项,如果你不提供这个选项,
                                                                         keytool就会提示你输入密码,这样你的密码就不会保存在shell历史中。


jarsigner命令解释:
-keystore                                                       包含私钥的keystore
<keystore-name>.keystore
-verbose                                                        开启详细输出
-storepass<password>                                keystore的密码,安全起见,通常建议不要在命令行输入这个选项,
                                                                         如果你不提供这个选项,jarsigner就会提示你输入密码,这样你的密码就不会保存在shell历史中。
-keypass<password>                                  密钥的密码,安全起见,通常建议不要在命令行输入这个选项,如果你不提供这个选项,
                                                                         jarsigner就会提示你输入密码,这样你的密码就不会保存在shell历史中。

eg.
keytool -genkey -v -keystore s-dialer.keystore -alias sdialer_name -keyalg RSA -validity 10000

输出一个s-dialer.keystore,密钥别名为sdialer_name。有了密钥,我们就可以用它来进行签名。

签名工具是jarsigner.

eg. jarsigner -verbose -keystore s-dialer.keystore sdialer.apk sdialer_name

这样,就为应用程序sdialer.apk完成了签名


应用程序的版本
Android应用程序主要通过androidmanifest.xml中的android:versionCode和android:versionName来实现版本管理的


原创粉丝点击