Android开发之给应用签名打包

Android开发之给应用签名打包

什么是签名打包?

在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应 用程序才能取得该权限。Android使用Java的数字证书相关的机制来 给apk加盖数字证书。

Android系统要求每一个安装进系 统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android将数字证书用来标识应用程序的作者和在应用程序之间建立信 任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。

Note:看官朋友们可能会有疑问了?我们平时写的一些小程序,安装在模拟器上或者在真机上,也没有签名啊!咋能够安装上的呢?

其实是我们的开发工具为我们的应用默认生成了一个debug.keystore

  • 默认的生成路径:C:\Users\你的用户名\.android

  • key的密码:android

我们不妨来打开这个debug.keystore,打开cmd,进入该文件的目录下,尝试以下步骤:

1.输入命令:keytool -list -keystore debug.keystore

2.输入密码:android

为什么要给应用签名打包?

假设说,当我们手机上已经安装一个app,当我们再次安装一个app,并且这个app的包名和之前安装的app包名又恰好相同的话,后安装的app便会将前一个app覆盖掉。

这种情况就非常危险了!

签名原因:为了防止别人的应用将自己的应用程序覆盖,给应用签名能够很好的解决这一问题。

形象的说:就是给你的app装了一把锁,而这把锁的钥匙只有你一个人有。

如何给应用程序打包签名?

首次打包签名

1.在你的项目上右键->Android Tools->Export Signed Application Package

2.next:

这里写图片描述

注意:要妥善保管好keystore文件,并且记住密码

3.相关参数

这里写图片描述

注意:红框中都是必选项,其他可不必填写

4.next

5.点击finish,我们看到控制台打印如下:

并且,在我们选择的路径下,打包签名的apk和keystore文件成功生成:

应用升级覆盖

当我们对应用再次升级时,这个时候我们无需再次生成keystore文件,引用之前已生成好的keystore文件即可:

1.在你的项目上右键->Android Tools->Export Signed Application Package

2.next:

这里写图片描述

再次输入密码;

这里写图片描述

4.生成版本2apk,finish:

这里写图片描述

5.可以看到,apk文件成功生成,这样就可以覆盖掉之前的应用了

这里写图片描述

总结

Android系统中的每个应用程序都是经过数字签名的,数字证书的私钥则保存在应用所有人手中,Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,也就是不允许别人随意覆盖他人应用啦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值