当学习是一种快乐的时候,你就能感受到享受;当你享受的时候,你就会愿意与志同道合者分享,这也是另一种快乐,而生活中当你遇到这种快乐的
当学习是一种快乐的时候,你就能感受到享受;当你享受的时候,你就会愿意与志同道合者分享,这也是另一种快乐,而生活中当你遇到这种快乐的时候,你就会欣喜若狂,你也会学会去感恩,去生活!所以兴趣学习与分享、感恩的心态才是----学习之道!

      个人学习android的经验或者心得总结,同样作为初学者的学习总结,不一定是你想要的,这里不求完美,只追求一种分享的快乐。

      第一部分:概念性理解——只求易懂,不求复杂

1.android 中App签名的意义:

        一句话:防止以假混真,维持版本一致。

        对我们开发者发布的APK文件进行唯一签名,能使得我们每次发布的版本具有一致性(新旧版本之间有时候可能会出现无法自动更新);更能使得每个应用程序开发商拥有合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序。

        第二部分:操作方法总结——按部就班,跑起来再说

2.为App签名的步骤:  

  a.创建key
  b.使用步骤a中产生的key对apk签名

        第三部分:实践才是硬道理——多说无益,动手才能检验:

  方法一: 命令行下对apk签名(原理)

  创建key,需要用到keytool.exe (位于jdk1.6.0_24/jre/bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24/bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入

  1. D:/>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore    
  2.   
  3. /*说明:-genkey 产生密钥   
  4.  
  5.        -alias demo.keystore 别名 demo.keystore   
  6.  
  7.        -keyalg RSA 使用RSA算法对签名加密   
  8.  
  9.        -validity 40000 有效期限4000天   
  10.  
  11.        -keystore demo.keystore */   
  12.   
  13. D:/>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore    
  14.   
  15. /*说明:-verbose 输出签名的详细信息   
  16.  
  17.        -keystore  demo.keystore 密钥库位置   
  18.  
  19.        -signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/
  20.   

注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。

关键字标签:心得AndroidApp签名

上一篇:IntelliJ IDEA 13 + Genymotion 2.3 开发环境搭建
下一篇:让你的网站在移动端健步如飞