【Android源码 栏目提醒】:网学会员为广大网友收集整理了,08_Android开发打包及发布 - 其它资料,希望对大家有所帮助!
Android开发打包及发布 回顾Service简介 Service概念 Service生命周期 Service使用方法服务管理服务开发实例 本章目标
Android综合实例
Android数字签名
Android Market程序发布 数字签名 数字签名(又称公钥数字签名、电子签章)是一种类似 写在纸上的普通的物理签名,但是使用了公钥加密领域 的技术实现,用于鉴别数字信息的方法。
一套数字签名 通常定义两种互补的运算,一个用于签名,另一个用于 验证。
数字签名了的文件的完整性是很容易验证的,而且数字 签名具有不可抵赖性。
数字签名主要的功能是:保证信 息传输的完整性、发送者的身份认证、防止交易中的抵 赖发生。
数字签名是个加密的过程,数字签名验证是个解密的过 程。
Android数字签名 在
Android系统中,所有安装到系统的应用程序都必有 一个数字证书,此数字证书用于标识应用程序的作者和 在应用程序之间建立信任关系 .
Android使用Java的数字证书相关的机制来给apk加盖数 字证书。
Android系统要求每一个安装进系统的应用程序都是经 过数字证书签名的,数字证书的私钥则保存在程序开发 者的手中。
Android将数字证书用来标识应用程序的作者和在应用 程序之间建立信任关系,不是用来决定最终用户可以安 装哪些应用程序。
W这个数字证书并不需要权威的数字证书签名机构认 证,它只是用来让应用程序包自我认证的。
数字签名有效期 数字证书的有效期要包含程序的预计生命周期,一旦数 字证书失效,持有改数字证书的程序将不能正常升级。
如果多个程序使用同一个数字证书,则该数字证书的有 效期要包含所有程序的预计生命周期。
Android Market强制要求所有应用程序数字证书的有效 期要持续到2033年10月22日以后。
Android数字证书特点 所有的应用程序都必须有数字证书,
Android 系统不会安 装一个没有数字证书的应用程序
Android程序包使用的数字证书可以是自签名的,不需要 一个权威的数字证书机构签名认证 如果要正式发布一个
Android ,必须使用一个合适的私钥 生成的数字证书来给程序签名,而不能使用adt插件或者 ant工具生成的调试证书来发布。
数字证书都是有有效期的,
Android只是在应用程序安装 的时候才会检查证书的有效期。
如果程序已经安装在系统 中,即使证书过期也不会影响程序的正常功能。
Android使用标准的java工具 Keytool and Jarsigner 来生 成数字证书,并给应用程序包签名。
Android数字证书签名
Android系统不会安装运行任何一款未经数字签名的apk程序,无论是 在模拟器上还是在实际的物理设备上。
Android的开发工具ADT插件 和 Ant都可以协助开发者给apk程序签名,它们都有两种模式:调试 模式debug mode和发布模式release mode。
在调试模式下,
android的开发工具会在每次编译时使用调试用的 数字证书给程序签名,开发者无须关心。
当要发布程序时,开发者就需要使用自己的数字证书给apk包签 名,可以有两种方法。
1在命令行下使用JDK中的和Keytool用于生成数字证书和 Jarsigner用于使用数字证书签名来给apk包签名。
2 使用ADT Export Wizard进行签名如果没有数字证书可能需 要生成数字证书。
生成证书及命令签名 生成证书 命令:keytool -genkey -v -keystore
android.keystore -alias
android - keyalg RSA -validity 20000 该命令中,-keystore
android.keystore 表示生成的证书,可以加上路径 (默认在用户主目录下);-alias
android表示证书的别名是
android;- keyalg RSA 表示采用的RSA算法;-validity 20000表示证书的有效期是 20000天。
此时,我们会在互用主目录下看到
android.keystore,即我们刚刚创建的 证书。
程序签名 jarsigner 用法: 选项 jar 文件别名 jarsigner -verify 选项 jar 文件 执行:jarsigner -verbose -keystore
android.keystore -signedjar wish_signed.apk wish.apk
android 就可以生成签名的apk文件,这里输 入文件wish.apk,最终生成wish_signed.apk为
Android签名后的 APK执 行文件。
下面提示输入的密码和keytool输入的一样就行了。
ADT向导签名步骤一 右键单击应用程序工程,如图选择 ADT向导签名步骤二 选择证书的存放路径,填写相关资料,完成,即可生成 被签名的apk文件。
如下图所示 ADT向导签名步骤三 我们可以看到也可以在这里选择”Create new keystore“来创建一个证书。
输入密码,点击下一步,填 写相关信息,输入后,点击next如下图所示 ADT向导签名步骤四 选择经过签名的apk的输出路径,点击“Finish”即可导出apk 文件。
Android Market简介
android market就是程序应用商店。
在2008年8月29日, 谷歌推出了
Android Market,为使用
Android操作系统的手 机用户提供第三方应用。
这个平台相似于Apple的App Store,可以连接最新的 Google在线 服务器。
由于其本土化的设计,
Android Market可以让用户下载和安装支持
Android系统的第三方 软件。
Google作为
Android Market的东道主,却一再强调
Android Market的扮演的角色仅仅是“软件销售和传播的中 心”而不是“软件过滤器”。
Android Market程序发布见附件 总结
Android综合实例
Android数字签名
Android Market程序发布