apk文件的签名

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) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kelsel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值