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

给你的程序签名
注意事项:
所有提交到Market的程序必须经过签名。未经签名的程序不能安装。
你可以使用个人证书去签名程序,不一定要经证书机构授权。
用Debug版本证书签名的程序将不能发布。
在安装程序时会检测签名证书是否过期。如果程序在安装后证书过期,程序也能正常使用。
你可以使用keytool和Jarsigner产生密钥并签名你的程序。
l你的程序在签名后还需要使用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删除。

发布android app到android market的方法的更多相关文章

  1. Attempt to invoke virtual method 'void android.app.ActionBar.setTitle的解决方法

    在安卓4.4.2的关于蓝牙开发的一个sample BluetoothChat中,调试时,老是出错:Attempt to invoke virtual method 'void android.app. ...

  2. 快速定位 Android APP 当前页面的三种方法(Activity / Fragment)

    方法一.通过adb命令打印当前页面: Android 如何快速定位当前页面是哪个Activity or Fragment (1)查看当前Activity :adb shell "dumpsy ...

  3. 性能测试 查看Android APP 帧数FPS的方法

    (下述需要先安装eclipse,不然无法抓包) 1.保证手机与PC连接是正常的 2.打开手机“设置”→“开发者选项”(没有开发者选项就点击“关于手机”“版本号”连续点击就会出现开发者选项了).找到监控 ...

  4. 跨过几个坑,终于完成了我的第一个Xamarin Android App!

    时间过得真快,距离上次发随笔又是一年多.作为上次发的我的第一个WP8.1应用总结的后继,这次同样的主要功能,改为实现安卓版APP.前几个月巨硬收购Xamarin,把Xamarin集成到VS里了,大大方 ...

  5. 【Egret】Wing3发布移动APP功能,打包APK流程以及会遇到的问题

    流程:1.安装好wing 3,然后 插件--Egret项目工具--发布移动APP--Build android native project 2.配置发布环境: Android 1.egret eng ...

  6. Android app启动activity并调用onCreate()方法时都默默地干了什么?

    Android app启动activity并调用onCreate() 方法时都默默地干了什么?   在AndroidManifest.xml文件中的<intent-filter>元素中有这 ...

  7. Android APP性能分析方法及工具

    近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...

  8. 转Android APP安装后不在桌面显示图标的应用场景举例和实现方法

    转http://www.cnblogs.com/allenzheng/p/4510725.html#3186608 Android APP安装后不在桌面显示图标的应用场景举例和实现方法 最近在为公司做 ...

  9. 谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect

    Google Play作为众所周知的在线应用市场,因为审查制度的松散,经常会有一些恶意软件伪装成其他应用混入其中.此前阿里聚安全小编就报道了2例关于恶意软件伪装在Google Play上的事件:< ...

随机推荐

  1. 把sql server 2000的用户表的所有者改成dbo

    怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...

  2. Android activity_main.xml删除边缘距离,充满屏幕

    删除android:paddingBottom.android:paddingLeft.android:paddingRight和android:paddingTop四个属性

  3. [MAC] SVN lock的使用

    转载 : http://www.eefocus.com/czzheng/blog/12-03/245532_4ca94.html 如果压根没有锁lock,那么每个人都拥有一个本地copy,每个人都能自 ...

  4. Find them, Catch them(poj 1703)

    题目大意: 在这个城市里有两个黑帮团伙,现在给出N个人,问任意两个人他们是否在同一个团伙输入D x y代表x于y不在一个团伙里输入A x y要输出x与y是否在同一团伙或者不确定他们在同一个团伙里 思路 ...

  5. int *p()与int (*p)()的区别

    int *p()是返回指针的函数 int (*p)()是指向函数的指针   返回指针的函数: int *a(int x,int y); 有若干个学生的成绩(每个学生有4门课程),要求在用户输入学生序号 ...

  6. 学习Hadoop整体理解

    HDFS是Hadoop的核心模块之一,围绕HDFS是什么.HDFS的设计思想和HDFS的体系结构三方面来介绍. Hadoop的设计思想受到Google公司的GFS设计思想的启示,基于一种开源的理念实现 ...

  7. js 在myeclipse中报错

    转myeclipse中的js文件报错   整理一下,希望帮到 遇到此问题的哥们.姐们. 方法一:myeclipse9 很特殊 和 myeclipse10 不一样,所以myeclipse9 不能使用该方 ...

  8. js之事件冒泡和事件捕获介绍

    链接:http://www.jb51.net/article/42492.htm (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. (2)捕获型事件 ...

  9. hdu 1054 最小点覆盖

    Sample Input 4 0:(1) 1 1:(2) 2 3 2:(0) 3:(0) 5 3:(3) 1 4 2 1:(1) 0 2:(0) 0:(0) 4:(0)   Sample Output ...

  10. 以app形式启动chrome——关于chrome命令行

    转自:http://wiselyman.iteye.com/blog/2179043 转自:http://bbs.ithome.com/thread-589651-1-1.html 转自:http:/ ...