第十六讲 应用程序发布.pdf
文本预览下载声明
第⼗六章 应⽤程序发布
第⼗六章 应⽤程序发布
在今天的⽂章中,我们将重点探讨通过Google Play软件商店进⾏应⽤程序发布,不过
如 愿意,⼤家也可以选择其它⼀些发布途径。要通过Google Play商店进⾏应⽤程序
发布,我们需要注意⼀些必要条件;不过如 通过其它途径发布则有可能⽆需考虑这
些前提。但我个⼈建议⼤家认真了解这些内容,并尽可能在任何发布⽅式当中都严格
贯彻这些最佳实践⽅案。
1. 准备⼯作
在我们考虑发布⼀款应⽤程序之前,⾸先要完成的就是全⾯的调试与测试⼯作,其中
包括确保应⽤能够在各类不同配置的设备上正常运⾏。此外,⼤家还应该注意其它⼀
些前提性事项。⾸先,如 我们的Java代码当中包含任何⽇志声明或者其它⽤于输出
调试信息的调⽤内容,请务必在发布之前将其从应⽤内移除。
如 ⼤家的清单⽂件当中包含android:debuggable属性集,则需要在发布应⽤程序之前
将其移除。我们的清单版本属性还需要经过合理配置,我将在后续内容中进⼀步解释
该话题。⼤家要确保⾃⼰的应⽤程序资源正确包含在软件包⽂件夹⾥,例如drawables
等指向配置信息的媒体条⽬。如 ⼤家的应⽤程序需要使⽤数据库之类资源,则必须
确保其经过合理调整。
如 ⼤家的应⽤程序在运⾏中需要使⽤某种程度的权限,则必须在manifest当中利⽤
uses-permission元素将其添加进来。为了顺利实现应⽤发布,⼤家还需要在manifest应
⽤程序元素中设置应⽤图标以及标签属性。我们在清单当中列出的⼤部分条⽬都将与
Google Play软件商店的应⽤列表内容相对应。
2. 版本管理
我们在之前的⽂章当中已经提到过,⼤家需要为⾃⼰的应⽤程序设置⼀个版本号并为
其命名。说起版本号,这部分信息应该被包含在根manifest元素中manifest下的
android:versionCode与android:versionName属性当中。
其中versionCode属性应该为⼀个整数,且每⼀个应⽤程序新版本分配到的数字都需要
⽐前⼀个更⼤。从逻辑⾓度讲,⼤家应该以1为初始版本号,并在每⼀次推出新版本
时逐渐递增该数值;不过⼤家也可以随意选择⾃⼰想要的数字,只要⽐上⼀个版本数
值更⼤即可。终端⽤户⽆法看到应⽤程序的版本代码值,该数值仅⽤于在发布过程中
衡量应⽤程序的当前版本号是否⽐原先已经安装的版本更新。
不过versionName属性则不同,它是⼀个可被终端⽤户查看的字符串。版本名称并不需
要⼀定与版本代码相匹配,但从逻辑上讲其同样应该遵循递进关系。举例来说,从1.0
开始,接下来应该是1.1,当我们发布的新内容更新幅度较⼤时则将其提升为2.0 。换
句话来说,版本名称应该能够帮助终端⽤户理解应⽤版本的先后顺序。如 ⼤家有计
划为⾃⼰的应⽤程序发布多个版本,则最好花点时间来考虑怎样的版本名称最适合反
映⾃⼰的升级进程。
3. 签名
第⼀步
要在 ndroid系统上安装⼀款应⽤程序,该应⽤必须利⽤具备私有密钥的证书进⾏签名
验证。在我们的开发过程中,Eclipse与 ndroid SDK会⾃动利⽤调试密钥完成应⽤程
序的签名过程,但⼤家⽆法通过这个调试密钥进⾏应⽤程序发布。在 ndroid应⽤程序
的创建过程中,系统会选择debug或者release两种模式之⼀进⾏创建。在release模式
下,⼤家需要利⽤⾃⼰的私有密钥完成应⽤程序签名。
⼤家也可以利⽤keytool程序为⾃⼰的应⽤程序⽣成⼀个密钥,我们可以在Java
Development Kit (或者简称为JDK )当中找到该程序。各位可以 点击此处 查看keytool
说明⽂档以了解更多详细情况。在为我们的私有密钥创建了keystore之后,⼤家即可
选择alias name 以及password ,从⽽在⽇后进⾏应⽤程序签名时加以使⽤。
第⼆步
当我们已经准备好了应⽤程序签名所必需的key/keystore之后,正⾯要做的就是为其创
建⼀个发布版本。在Eclipse当中,通过Package Explorer选中⾃⼰的应⽤程序项⽬,右
键点击该项⽬或者选择“File”、“Export” 。展开其 ndroid⽂件夹后,选择“Export
ndroid pplication”并点击“Next” 。
接下来,Eclipse将突出显⽰创建过程中所遇到的全部错误信息,我们需要将其⼀⼀解
决才能继续进⾏下⼀步。如 整个过程没有出现错误,⼤家可以直接点击“Next” 以继
续。在Keystore Selection容器中,浏览⾄我们的ke
显示全部