手机受绝对信任的凭据是系统可信任的证书,如果可以下载的手机软件是这些证书签名的。
在通过网上交易时的身份证,或者说是私人经营钥匙,您的安全证书是真正的,与任何其他人的证书都不不同。是为如何防止不能复制,我们在将安全证书发时,我们自己是不接受保存到的,以致您要先保管好您的安全证书。
android系统要求,所有的程序经由数字签名后才能安装。android系统建议使用这个证书来识别应用程序的作者,但是组建程序间的信任关系。证书不是应用于用户压制哪些程序可以不直接安装。证书不是需要授权中心来签名:android应用程序上不使用自己签名的证书是完全愿意且普遍的。表述android应用程序签名有100元以内几个不重要点:·所有的应用程序都可以签名。系统不会安装任何一个不签名的程序。·你可以使用自己的证书来签名。不要任何授权中心。·当你要为最终用户先发布你的应用程序的时候,你要签入个最合适的密钥。你不可以哦发布程序的时候还在用sdk工具签入的debugkey。·系统只在安装好应用程序的时候检测证书的有效期。如果没有应用程序在安装好之后证书失效了,这样,应用程序应该可以都正常工作。·你也可以可以使用标准工具——keytool和jarsigner——生成key并签名apk文件。·一旦你为应用程序签名了,要先使用zipalign工具来优化系统到了最后的apk包。android系统绝对不会完全安装和运行没有对的签名的应用程序。这条规则可以参照于任何运行android系统的地方,反正是真机应该模拟器。正是我由于这个原因,你可以在模拟器或真机上不运行/调试程序之前对程序进行签名。当你调试应用程序时,androidsdk工具替你对应用程序通过了签名。eclipse的adt插件和ant编译工具都提供给了两种签名模式——debug模式和release模式。·当的新和测量时,你可以使用debug模式。在debug模式下,编译器工具使用内嵌在jdk中的keytool工具来创建角色一个keystore和一个key(中有公认的名字和密码)。在每次编译的时候,在用这个debugkey来为apk文件签名。由于密码是很有名气的,在每次来编译的时候,也不不需要不提示你输入keystore和key密码。·当你的程序打算发布时,你必须在release模式下,在用密钥来为apk文件签名。有以上两种可以不能够做到:1.命令行中建议使用keytool和jarsigner。在这个方法中,简单的方法不需要代码编译出一个未签名的apk。然后在用jarsigner(或有几分相似的工具),用你的密钥为apk不自动签名。如果不是你没有比较好的密钥,你可以不不运行keytool来不自动化合自己的keystore/key。2.使用adt文件导入向导。如果没有你建议使用eclipse/adt插件通过开发,你这个可以可以使用导出来向导来编译器程序,生成密钥(如果没有不需要),并为apk签名,所有这些操作都在导入向导中。那样一来你的程序签名了,别忘了运行zipalign来为apk参与额外的优化。签名策略应用程序签名的某些方面很有可能会影响不大应用程序的开发,特别就是你打算互相查找多个应用程序的时候。一般来说,推荐的策略是在整个应用程序寿命内,所有的程序签上相同的证书。以下有几个肯定这么做的原因:·应用程序可以升级——当你对应用程序通过可以升级时,如果不是你想用户平稳下来的升级,这样的话,你就要签上不同的证书。当系统安装两个升级应用程序时,如果不是新版本的证书与老版本的证书有看操作的话,那么,系统才会不能进行升级。如果不是你还没有为版本签上最合适的证书,当你完全安装时,你不需要给应用程序重新指定两个新的包名——在状况下,用户安装的新版本,被当成是一个全新的应用程序。·应用程序模块化——如果应用程序请求的话,android系统允许签有是一样的证书的应用程序运行在相同的进程里,这样,系统是会把它们代入是一个元素单一的应用程序。用这种方法配置应用程序,用户也可以选择类型没更新每个单独的的模块。·代码/数据权限共享——android系统需要提供了基于条件签名的权限检查,并且,如果应用程序间签有特定的证书,这样,它们之间可以网络共享功能。实际多个程序签有相同的证书而且可以使用基于签名的权限检查,你的程序可以不以一种安全的共享代码和数据。另外一个改变签名策略的重要因素是:怎么修改key的有效期。·假如你计划允许单个应用程序的升级,你是需要确保全你的key手中掌握一个超过期望的应用程序生命周期的有效期。推荐建议使用25年或更多的有效期。当你的key过期了,用户也就不能不能平稳下来的可以更新到新版本了。·要是你想给多个无关的应用程序签上是一样的的key,这样的话,你需要切实保障key的有效期达到所有应用程序所有版本的生命周期,除开将来有可能添加到这一阵营的程序。·如果不是你想在androidmarket上公告你的程序,key的有效期前提是在2033.10.22以后。market服务器噬灵鬼斩这一要求,目前是只要用户这个可以平稳下来的更新他们的程序。当你设计应用程序时,要先把这些点记在脑子里,另外使用一个最合适的证书来为应用程序签名。签名的基本修改在你又开始之前,你要可以保证keytool对sdk代码编译工具来说是可用来的。多数情况下,你这个可以通过设置java_home环境变量来告知sdk编译器工具怎么不能找到keytool。另外,你还也可以先添加jdk中keytool的路径到path的变量里。如果不是你在linux上旗下,并且可以使用gnu编译器来代码编译java,那就,请切实保障系统是可以使用jdk中的keytool,而不是gcj。如果不是keytool已经在你的path中,它有可能是对/usr/bin/keytool的符号链接。在情况下,检查符号链接的目标,必须保证它是对准jdk中的keytool。如果不是你还想对公众施放你的应用程序,你还不需要jarsigner工具。jarsigner和keytool都包涵在jdk中。debug模式下签名android编译工具能提供了debug签名模式,也让开发和调试应用程序非常不容易,但是还不满足android系统的签名要求。当使用debug模式编译程序你的app时,sdk工具会动态链接库keytool工具自动出现修改一个debug的keystore和key。后再,这个debugkey会自动启动作用于apk的签名,这样,你不是需要在用你自己的key来为应用程序包签名。sdk工具使用先行定义好的名字/密码来创建战队debugkeystore/key:·keystore名字:“”·keystore密码:“android”·key别名:“androiddebugkey”·key密码:“android”·cn:“cnandroiddebug,oandroid,cus”如果不是必须的话,你这个可以转变debugkeystore/key的位置和名字,或者提供一个选项卡的debugkeysotre/key。但,任何自定义的debugkeystore/key必须建议使用和设置成debugkey(上面请看的)完全相同的名字和密码。(在eclipse/adt中,操作windowsgtpreferencesgtandroidgtbuild实现方法。)注意:你不能不能将签有debug证书的应用程序先发布给公众。eclipse用户要是你在eclipse/adt下开发(另外早就按照上面描述的“签名的都差不多设定”配置了keytool),debug模式下签名默认是再开启的。当你运行又或者是调试应用程序时,adt会在用debug证书并且签名,并运行zipalign,然后把完全安装到中,选择的模拟器又或者是连接到上的设备。接下来的一切不需要你参与,前提是adt能ftp连接keytool。ant用户假如你建议使用ant来编译你的apk文件,要在ant命令中先添加debug选项来开启debug个性签名模式(打比方你正在不使用由android工具生成build.xml文件)。当你运行antdebug来编译程序你的程序时,编译程序脚本会生成一个keystore/key,并为apk参与签名。然后把脚本会可以使用zipalign工具对apk并且对齐处理。整个过程中不需要你组织。写作“其它ide下开发:debug模式编译”来打听一下更多的信息。debug证书快过期debug模式下我的签名带的证书(默认是eclipse/adt和ant代码编译)上一次它创建战队之日起,1年后可能会无法激活。当证书失去效果时,你会能得到一个代码编译错误,在ant代码编译上,错误::debug:[echo]packagingbin/samples-debug.apk,andsigningitwithadebugkey...[exec]debugcertificateexpiredon8/4/083:43pm在eclipse/adt中,android控制台将是看见了两个相似的错误。替解决这个问题,只必须删除掉文件再试一下。avd设置成存储的位置在:~(osx和linux),(windowsxp),(windowsvista)。当下三次编译的时候,编译工具会重新能生成个新的keystore和debugkey。release模式下签名当你的程序马上准备好释放者给其它用户时,你前提是:1.某些另一个比较好的密钥2.在release模式下编译程序3.使用密钥签名程序4.角点apk包如果没有你是建议使用eclipse/adt插件开发,你是可以可以使用文件导出向导来能完成代码编译、签名和整个表格等操作。在整个过程中,导出来向导哪怕还这个可以生成两个新的keystore和密钥。但,如果不是你不使用eclipse,你可以不就跳到“不使用eclipseadt编译器和签名”。资源另一个合适的密钥就是为了并且程序的签名,简单的方法,你需要有个最合适的密钥。密钥指:·个人所属。·华指个人、公司或组织实体的身份。·具备一个有效期。有效期推荐超过25年。要是你在androidmarket上先发布你的程序,不需要注意一些的是:程序的有效期不需要在2033.10.22之后。你不能不能本地上传一个应用程序,而它的key的有效期是在这个日期之前。·又不是由androidsdk工具生成气体的debugkey。如果不是你是没有一个比较合适的key,你一定得可以使用keytool来生成一个。如“基本都修改”中具体描述的,确保keytool可用。是为用keytool生成沉淀一个key,使用certutil命令并传来一些可选参数,不胜感激表所示。警告:切实保障密钥的安全。要先阅读“安全存贮你的密钥”中商讨如何以保证你的密钥的安全以及这对你和用户怎地这等重要的是。尤其是,当你生成你的密钥时,一定要为keystore和key使用强密码。