什么是签名,为什么要给应用程序签名,如何给应用程序

2025-03-04 18:16:48
推荐回答(1个)
回答1:

为什么要签名
①应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名。这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序。如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。如果想升级应用程序,签名证书要相同,包名称要相同!

②应用程序模块化:Android系统可以允许同一个证书签名的多个应用程序在一个进程里运行,系统实际把他们作为一个单个的应用程序,此时就可以把我们的应用程序以模块的方式进行部署,而用户可以独立的升级其中的一个模块

③代码或者数据共享:Android提供了基于签名的权限机制,那么一个应用程序就可以为另一个以相同证书签名的应用程序公开自己的功能。以同一个证书对多个应用程序进行签名,利用基于签名的权限检查,你就可以在应用程序间以安全的方式共享代码和数据了。
如何使用Android Studio 进行签名
Build → Generate Signed APK→Greate new...

Key store path:秘钥仓库的路径,比如C:\AndroidSDK20160322\sdk\key.jks试试,红色的部分名字可以自己起,但后缀必须是 .jks ,
Password: 输入秘钥仓库的密码,比如: lait.....
Confirm: 确认秘钥仓库的密码,比如: lait......

key-------------------------------------------------------
Alias:秘钥别名 比如 lai
Password: 输入秘钥的密码,比如: 123456
Confirm: 确认秘钥的密码,比如:123456
Validity(years): 有效期

Certificate:证书,需要的填写如下
First and Last Name:姓名 比如:LaiTianLiang
Organization Unit:组织单位比如:nothing
Organization:组织 比如:nothing
City or Locality:城市或地区 比如:ShenYang
State or Province:州或省 比如:LiaoNing
Country Code(XX):国家代码(XX) 比如:86

填写好后点击OK

点击Next

Enter Master Password 活动窗口中的英文
简单翻译就是:主密码是解锁密码数据库时需要,密码数据库将在这个会话期间为所有子系统解锁
在这里应该是设置主密码,我也忘记什么时候设的了,但是试了一下我的常用密码 Lt…… 结果好使了
如果忘记了可以在File->Settings->Appearance&Behavior ->SystemSetting->Passwords中修改

最后单击Finish完成