WEB开发网
开发学院手机开发Android 开发 Android 应用程序签名 阅读

Android 应用程序签名

 2010-05-31 14:08:00 来源:WEB开发网   
核心提示:Android系统要求,所有的程序经过数字签名后才能安装,Android 应用程序签名,Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系,所有这些操作都在导出向导中,一旦你的程序签名了,证书不是用于用户控制哪些程序可以安装,证书不需要授权中心来签名:Android应用程序上使用自己签名的证书

Android系统要求,所有的程序经过数字签名后才能安装。Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系。证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。

理解Android应用程序签名有以下几个重要点:

· 所有的应用程序都必须签名。系统不会安装任何一个不签名的程序。

· 你可以使用自己的证书来签名。不需要任何授权中心。

· 当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥。你不可以发布程序的时候还使用SDK工具签入的Debug Key。

· 系统只在安装应用程序的时候检测证书的有效期。如果应用程序在安装之后证书失效了,那么,应用程序还是可以正常工作。

· 你可以使用标准工具——Keytool和Jarsigner——生成Key并签名apk文件。

· 一旦你为应用程序签名了,一定要使用zipalign工具来优化最终的APK包。

Android系统不会安装和运行没有正确签名的应用程序。这条规则适用于任何运行Android系统的地方,不管是真机还是模拟器。正是由于这个原因,你必须在模拟器或真机上运行/调试程序之前对程序进行签名。

当你调试应用程序时,Android SDK工具替你对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。

· 当开发和测试时,你可以使用Debug模式。在Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个key(包含公认的名字和密码)。在每次编译的时候,使用这个Debug Key来为apk文件签名。由于密码是公认的,在每次编译的时候,也不需要提示你输入keystore和key密码。

· 当你的程序准备发布时,你必须在Release模式下,使用密钥来为apk文件签名。有以下两种方式可以做到:

o 命令行中使用Keytool和Jarsigner。在这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或相似的工具),用你的密钥为apk手动签名。如果你没有合适的密钥,你可以运行Keytool来手动生成自己的keystore/key。

o 使用ADT导出向导。如果你使用Eclipse/ADT插件进行开发,你可以使用导出向导来编译程序,生成密钥(如果需要),并为apk签名,所有这些操作都在导出向导中。一旦你的程序签名了,别忘了运行zipalign来为apk进行额外的优化。

1 2 3 4  下一页

Tags:Android 应用程序 签名

编辑录入:coldstar [复制链接] [打 印]
赞助商链接