发布Android应用程序过程

来源:互联网 发布:网络教育几月份报名 编辑:程序博客网 时间:2024/04/30 04:44

提示:本文仅针对Windows平台。有关Linux平台,可以参考Android SDK中的Dev Guide中的Publishing->Sign Your Applications中的Basic Setup for Signing一节。

前提: 1、正确安装JDK,并配置了JAVA_HOME和PATH(JAVA_HOME/bin),因为要使用到jdk/bin下面的两个工具:keytool.exe、jarsigner.exe。

2、安装Android SDK并在PATH中配置了(SDK_HOME/tools),因为要使用到sdk_home/bin下面的一个工具:zipalign.exe

发布应用程序步骤:

1、  查看要发布的应用程序是否已经过以下必须步骤或包含以下必要信息:

         *在真机上进行测试

         *考虑在应用程序中添加最终用户协议

         *考虑添加授权支持

         *指定一个图标和标签在应用程序的Manifest.xml文件中定义

         *清除调试日志等信息

         *确定你发布的版本

         *如果应用程序使用到MapView,则需要注册一个Map api密钥

2、  数字签名:

生成证书,命令行:$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

签名,命令行:$ jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name

验证是否已签名,命令行:$ jarsigner -verify -verbose -certs my_application.apk

优化改善应用程序供发布,命令行:$zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

创建数字证书需要提供的信息有:证书名称:

证书密码:
别名:
名字:
单位名称:
组织名称:
城市名称:

国家名称:

密钥主密码:

3、  发布应用程序。

发布到Google Android Market:market.android.com

                   *创建Google Market帐号,注册成为开发人员。(需通过信息卡支付注册费25美元)

                   *注册成功后,上传应用程序。点击发布后,用户在Google Android Market中就能够下载使用

国内的Android应用市场


商店名称

网址

机锋市场

http://www.gfan.com/app/amarket/

可以自助上传

爱米软件商店

http://aimi8.com/download

可以自助上传

优亿市场

http://www.eoemarket.com/

可以自助上传

掌上应用汇

http://www.appchina.com/about.html

可以自助上传

安卓市场

http://www.hiapk.com/bbs/Market/index0.htm

可以自助上传

安智市场

http://market.goapk.com/download.php

可以自助上传

开奇商店

http://www.kaiqi.com/tianyinhero.html

N多市场

http://nduoa.com/apk/detail/4000

可以自助上传

安卓星空

http://www.starandroid.com/apkclient

可以自助上传

巴士商店

http://android.tgbus.com/Ashop/

XDA市场

http://android.xda.cn/detail.php?swid=157

安丰下载

http://www.anfone.com/

历趣安卓市场

http://rj.liqucn.com/111/11114.shtml

联想应用

tp://www.lenovomm.com/appstore/

芒果有渠道

欧米

http://app.mobiomni.com/

可以自助上传

HTC市场                     http://htc.appstoreconnect.com/

中国联通沃商店         http://store.wo.com.cn/


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来实现版本管理的



如何用eclipse打签名包:

1.Eclipse工程中右键工程,弹出选项中选择 android工具-生成签名应用包:

 

2.选择需要打包的android项目工程:

 

3.如果已有私钥文件,选择私钥文件输入密码,如果没有参见第6和7步创建私钥文件:

4.输入私钥别名和密码:

5.选择APK存储的位置,并完成设置 开始生成:

 

6.没有私钥文件的情况,创建私钥文件:

7.输入私钥文件所需信息,并创建:

 

*自己的一点补充:SDK的安装目录最后不要有中文和空格,否则会出现不必要的错误。如果你的安装路径包含Program Files(有空格),用ADT打包会报错,Ant方式打包的也会报错,没关系,不用重装,解决方法:配置SDk环境变量和在Eclipse中配置SDK路径的时候把Program Files改为Progra~1即可。(而且改成其他的都不行,只能是Progra~1,不信试试,这是Dos的规格)。


0 0
原创粉丝点击