apk文件的签名

来源:互联网 发布:济宁淘宝代运营 编辑:程序博客网 时间:2024/05/16 07:16

http://blog.163.com/squall_smile/blog/static/6034984020113169415502/
在使用android模拟器时,apk文件自动上传并安装执行。但是编译为apk文件自己上传到手机上却运行不了,这是因为apk文件没有签名的缘故。在Eclipse自动在模拟器中上传程序时,ADT已为其加上了某个调试用的签名,所以不会有问题。

签名到底有何用处呢?简要说两点:1 签名可使你获得某种特殊权限。2 保护你程序的安全。若某人“碰巧”使用了与你相同的包名,那么由于签名不同,它将无法覆盖你的程序。而你使用了相同签名的程序则可任意升级。

可用android sdk里的keytools来创建和执行签名。当然用Eclipse更方便。

选择Export选项,选择新建签名,选择路径并填写一些信息,然后会生成你命名的签名文件,选择你要签名导出的apk文件名称,将会将其签名保存。

此时将此apk文件传至手机上,会正常安装成功。

下次可选择已经创建好的签名,再次为导出的apk文件签名。注意记住密码。

android sdk提供的命令行方式创建签名及签名方法如下:

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

D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore 

/*说明:-genkey 产生密钥 

       -alias demo.keystore 别名 demo.keystore 

       -keyalg RSA 使用RSA算法对签名加密 

       -validity 40000 有效期限4000天 

       -keystore demo.keystore */

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore 

/*说明:-verbose 输出签名的详细信息 

       -keystore  demo.keystore 密钥库位置 

       -signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/ 
  注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(317) | 评论(0) | 转发(0) |
0

上一篇:Android应用开发相关下载资源

下一篇:wcslen strlen,字符串内的空格和字符串的结束符

相关热门文章
  • Android之开发环境搭建
  • Android自定义View的实现...
  • AndroidManifest.xml配置文件...
  • Android相对布局+圆角按钮+Sha...
  • 查看Android应用包名package和...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
原创粉丝点击