写了一段时间的android应用了,只是在自己手机上面安装。
上周申请了android developer,需要一次性25美元的程序开发注册费用。费用需要用google checkout,所以还要先申请google checkout。国内的信用卡一般都支持VISA,可以以香港地址作为付款地址注册成功。注册成功后,还可以向google购买一部用于开发的手机。
这样就可以进入android market发布主页了。这是我发布第一个应用后的截图:
开发的是一个测试用的示例。
签名前需要了解的
首先需要知道,android market发布应用程序,没有人为的审核过程,如果符合要求,只要提交,将立刻生效。
应用程序需要经过签名(sign)才可以发布,签名的主要作用是,让别人知道这个程序是你通过哪个android开发者帐号发布的。
签名将生成一个二进制的私钥文件(private key)。其实如果使用windows+eclipse adt开发,在用户目录下:
.android\debug.keystore
路径下的文件,就已经是一个私钥了,只不过这是debug用的私钥。即,android不能安装没有签名的APK,如果通过debug方式(开发者 通过usb连接)安装APK,实际上生成的APK是使用debug签名的。使用debug私钥签名的APK文件无法发布到android market。
公钥和私钥,是非对称密钥体系中的概念。在这里的基本原理是用户可通过自己的私钥加密数据(应用程序中的指纹部分),数据可以通过公钥解码看到,主要目的是确保信息来源不被篡改。
生成私钥文件的步骤
签名很简单,使用的工具在JDK的bin目录下,keytool.exe。命令如下:
keytool.exe -genkey -v -keystore 私钥的文件名 -alias 自己起个别名 -keyalg RSA -validity 10000
这里面除了汉字部分,都可以不动。运行该命令,会有交互的提示,类似下面:
这样就会生成一个私钥文件,该文件要妥善保管,防止被别人冒用。
其实生成私钥也可以使用eclipse adt插件,界面和下面签名应用程序的界面是同一个。
使用私钥文件签名应用程序
使用eclipse adt可以很方便的生成带签名的应用程序。
然后:
这里要选择刚才生成的私钥文件,并输入正确的生成私钥的密码。
然后:
输入别名的密码。
再下一步,就简单了,选择生成文件的路径即可。
发布应用程序
主要是上传应用程序文件,相关文件,比如屏幕截图,还有就是程序的文字描述等。
这部分上传文件就不说了,主要是屏幕截图,遇到点儿小麻烦,这里只支持两种尺寸的图片,我的nexus one 480×800居然没有,只好用480×854的格式,需要用软件为截图修改一下尺寸(多了一点儿空白)。否则上传后会提示错误。
这部分,可能需要增加比如中文预研的介绍,但是没有简体中文,用的是繁体中文语言。
最后,勾选同意google的要求。发布即可。
马上就可以在android market上看到自己发布的应用。
?
文章转自:http://www.oschina.net/question/54100_27239
?
PS: 目前我发布了一个应用程序到安卓市场,功能主要为“扫描二维码和根据用户输入的字符串生成二维码,并且分享到新浪微博和微信”。 其中有分享到新浪微博和微信的功能,需要去对应的平台申请app,申请的时候需要输入md5签名,这个签名是根据 私钥(可以认为是keystore,其实keystore包含私钥)加密过的摘要(根据包名等,而且签名时需要apk安装在手机上),所以说如果你要替换keystore,则需要重新生成md5签名,并在对应的平台上申请修改md5签名,否则 ?微博授权、分享、微信等平台功能不能使用。
?
下面附上 微信开放平台的官方描述:应用签名(md5签名)
用于对当前应用进行二次身份校验,开发者可以使用签名生成工具直接从安装当前应用的手机中获取。应用签名由开发者签名该应用的keystore文件决定。
?
本人实测:修改微信开发平台和微博平台的md5签名(前提是我的签名keystore换了,重新生成的md5签名),提示修改需要审批,但应该为自动审批,保存后立即生效。(自己猜测下:修改md5签名信息不需要重新审批,或者说自动审批成功,其它可信息可能触发人工审批流程)。
PS:其中新浪微博平台,如果你的md5签名和平台上注册的不一致(通常为更改keystore签名所致,通常需要修改平台上的md5签名),或造成微博app的crash,在你的应用中显示网络连接不到;在微信平台如果不一致,则调不出发送页面。
?
项目已经上传至github:
https://github.com/ihyperwin/QRCodeGenius/
?
? ?
?