Android 签名

一、什么是Android签名

开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。

由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相同名字,但是签名不同的包不被替换。APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时,签名可以防止抵赖的发生。

简单的说:在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,Android签名就是一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。

二、如何区分android包是否签名

cmd中输入以下命令:

jarsigner -verify -verbose-certs  路径+包名

例如:

查看一个未签名的apk:jarsigner -verify -verbose-certs  F:\ ShellEnterSofte.apk


查看一个已签名的apk:jarsigner -verify -verbose-certs  E:\ test.apk


三、两种签名方式

1. 通过命令行签名

命令:jarsigner –keystore ${keystore-file} –storepass ${storepass}

–keypass ${keypass} –signedjar

${out-signed-package-ospath} ${out-unsigned-package-ospath} ${alias}

其中:${keystore-file}:debug.keystore文件存放的位置,

如:F:\PcMonitorCenter1.0\assist\debug.keystore

${storepass}:keystore文件的密钥

${keypass}:要使用的那个签名的密钥

${out-signed-package-ospath}:签名后文件存放的位置

如:E:\test.apk

${out-unsigned-package-ospath}:未签名文件存放的位置

如:F:\PcMonitorCenter1.0\ShellEnterSofte_unsigned.apk

${alias}:某个签名的别名,如debug.keystore默认有一个alias为androiddebugkey的签名。

例如使用debug.keystore完整命令为:

jarsigner –keystore F:\PcMonitorCenter1.0\assist\debug.keystore–storepass android –keypass  android  –signedjar

F:\signed.apk  F:\unsigned.apk androiddebugkey

 

在相应路径下(E:\ test.apk)即可找到签名成功的APK文件。

2.通过Eclipse签名

(1)打开Eclipse->选择你要签名的项目->右击->android tools->Export signed Applicationpackage...


(2)跳出窗口


(3)project checks 如果核对项目名没有问题的话 点击 Next

然后跳出keystoreselection 如果是已经存在keystore的文件就选择然后next 输入keystore的密码进行签名。
如果没有的话选择create new keystore 然后选择keystore 保存的位置,设置keystore的密码,点击Next。


(4)填写keystore的基本信息,如,别名,密码,有效期,姓名,组织,组织名称,所在城市,所在省份,国家等,点击Next


(5)选择被签名后的APK保存位置。点击finish。


(6)6.就可以在你保存的位置中找到相应的被签名后的APK文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值