首页 > 技术文章 > 【转】发布android app到android market的方法

91program 2016-02-16 12:06 原文

转载自: http://www.stwind.org/android-market

给你的程序签名

注意事项:

所有提交到Market的程序必须经过签名。未经签名的程序不能安装。

你可以使用个人证书去签名程序,不一定要经证书机构授权。

用Debug版本证书签名的程序将不能发布。

在安装程序时会检测签名证书是否过期。

如果程序在安装后证书过期,程序也能正常使用。

你可以使用keytool和Jarsigner产生密钥并签名你的程序。

你的程序在签名后还需要使用zipalign去优化。

建议: 用同一密钥签名所有程序,以保证程序的无缝升级。

证书的有效期最好在25年以上。

发布到Market的程序中证书有效期必须在2033年10月22日以后。  

如何签名 除了下面提到的方法,还有一种利用GUI来编译的方法。

在Eclipse中Package Explorer里选择要编译的工程,File->Export, 打开Android文件夹,选择Export Android Application,一步一步完成向导即可。这样程序就会编译,签名,优化,可以直接发布到Market了。?获取合适的私有密钥 通过Keytool去产生私有密钥。

Keytool在JDK/bin目录里(比如C:\Program Files\Java\jdk1.6.0_20\bin)。

Keytool参数 描述
-genkey 生成公钥和私钥
-v 输出详细信息
-keystore <keystore-name>.keystore 生成的keystore文件名
-alias <alias name> 此密钥的别名。只保留前8位字符
-keyalg <alg> 加密算法。支持DSA和RSA
-dname <name> 用于描述此密钥的创建者信息。如果没有提供,Jarsigner会提示你输入这些信息
-validity <valdays> 密钥有效期,按天数。最好>10000

 例如:keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000更多关于keytool的信息:

http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security

编译Release版本程序 在release状态下程序是未经签名的。

在Eclipse中导出未经签名的release版本apk文件。

在Package Explorer中找到要编译的工程,右击选择Android Tools->Export Unsigned Application Package


用私有密钥签名 通过Jarsigner来使用私有密钥签名。

例如:jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name 验证已签名程序:jarsigner -verify my_signed.apk
优化APK文件 通过zipalign来优化apk文件。Zipalign可以在Andorid SDK/tools目录下找到。

例如:zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk your_project_name-unaligned.apk是输入,your_project_name.apk是输出。如果要覆盖已有文件,需要加上-f参数
添加版本信息 主要有两方面,一个是程序的版本号,另外一个是程序中要求的系统API版本号。二者都需要在AndroidManifest.xml中设定。

程序版本号 Android:versionCode: int类型,只能是整数。别的程序在调用时要用到,最终用户无法看到。 Android:versionName: 字符串类型。就是给最终用户看的。

程序要求的系统API版本号 Android:minSdkVersion: 要执行此程序需要的最低的系统API版本 Android:targetSdkVersion: 此程序设计时的目标系统API版本 Android:maxSdkVersion: 此程序设计时支持的最高的系统API版本
准备发布 发布前的检查列表: 在考虑发布程序之前

1. 在真实设备上进行完整的测试

2. 考虑在程序中添加最终用户许可协议

3. 在程序中添加图标和标题

4. 关闭并清理log和debug信息 在进行最后的编译之前

5. 添加版本号

6. 获取合适的密钥

7. 如果用到了Mapview元素,请注册Maps API key 在程序编译完成后

8. 对程序进行签名

9. 测试编译好的程序
发布程序到Android Market

1. 注册账号:http://market.android.com/publish

2. 在提交程序之前,必须确保程序符合Android Market 服务器的要求:

(1) 对程序签名的私有密钥有效期必须在2033年10月22日之后。

(2) 程序中必须设定了android:versionCode和android:versionName。前者用于程序的更新,后者会展示给最终用户。

(3) 在程序的manifest中必须定义了android:icon和android:label。 if ($ != jQuery) { $ = jQuery.noConflict(); }
步骤如下

1、上传你的.apk文件。(必填)

2、假如2张游戏截图,要求320w x 480h, 480w x 800h, 或480w x 854h,24 bit PNG or JPEG图片。(必填)

3、上传高清icon,要求512w x 512h的24 bit PNG or JPEG图片,最大1024KB。(必填)

4、上传特写图片,要求1024w x 500h的24 bit PNG or JPEG图片。(选填)

5、促销视频。首先需要上传到youtube,然后把链接放到这里。(选填)

6、勾选后选择退出市场,需要60天生效。

7、选择语言。目前还没有简体中文。选择语言后,需要去掉不必要的语言。

8、写标题。(用所选语言填写,最多30个字母)

9、写描述。(用所选语言填写,最多4000个字母)

10、写将要出的下一个版本的变化,也就是我们说的新版本更新内容。(英文,最多500个字母)

11、产品促销广告文字。(英文,最多80个字母)

12、选应用类型(应用类、游戏类)

13、选app种类 如果之前选的是应用类,则显示如下种类:

comics 漫画 communication 通讯 demo 演示 entertainment 娱乐 finance 财务,财经 health 健康 lifestyle 生活 multimedia 多媒体 news & weather 新闻与天气 productivity 生产 reference 参考 shopping 购物 social 社会 software libraries 软件库 sports 体育 themes 主题 tools 工具 travel 旅游 如果之前选的是游戏类,则显示: arcade & Action 动作冒险类 brain & puzzle 益智解密类 cards & casino 棋牌赌博类 casual 休闲类

14、填入价格。有免费与付费可选。注:这里如果选定免费,则以后不可以改成付费。

15、复制保护:如果选off ,则改应用可以被复制。如果选on,谷歌会有措施保护拷贝情况。

16、选择内容级别:分mature(适合成人)、teen(适合十几岁合同)、pre-teen(适合10岁之前的儿童)、all(适合所有)

17、选择区域:可选择在全球范围展示,也可以选择某几个国家。

18、填入官方网站。

19、联系信箱。

20、联系电话。

21、选中,则表示:我的软件遵守android内容条款。

22、选中,则表示:我承认我的软件受美国出口法支配,不管我在哪个国家和地区。我同意我将遵守所有相关法律,包括申请人信息的加密功能。我在此证明我的软件是经过授权的从美国出口。

然后点publish发表软件。

也可点save保存或点delete删除。

推荐阅读