Android的签名

参考资料:http://www.cnblogs.com/ok-lanyan/archive/2013/04/02/2995462.html

一、为什么要签名

在平时开发中,我们以debug模式编译程序时,编译会自动的为我们的apk添加上默认签名。当当我们发布一个应用时(Release版本时),编译器不会为我们添加默认的签名,这时需要我们自己为APK添加签名。

签名的好处:
  1. 发送者的身份认证

由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换

  1. 保证信息传输的完整性

签名对于包中的每个文件进行处理,以此确保包中内容不被替换

  1. 应用程序模块化:

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

  1. 系统要求安装的程序必须签名:

所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序

二、Java数字证书

详细的资料:http://blog.csdn.net/mingde_he/article/details/5694274
Java中的keytool.exe可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。

三、如何给apk签名

1.创建keystore
使用Generate Signed APK创建自己的keystore


Paste_Image.png

2.create new或者choose exiting
选择已经有的keystore或者创建新的

Paste_Image.png

3.创建新的keystore

注意 最后的扩展名为.jks


Paste_Image.png

四、签名打包

将已经生成的jks加入到项目的目录结构中

Paste_Image.png

配置签名

方式1:在gradle中进行配置签名(注意这种方式不保险

Paste_Image.png

方式二:通过ProjectStructure 进行配置

Paste_Image.png

选中moudel层中的一个工程 打开 signing 添加config
![Uploading Paste_Image_769156.png . . .]

打包签名###

gradle assembleRelease 或者 assembleDebug

将账户密码写在gradle.properties

摘抄自:https://github.com/futurice/android-best-practices

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,971评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 在进行签名文件之前,必须先配置好相应的Android的环境。这里就不进行,请自行百度 简介 首先问什么要进行and...
    Charon_Pluto阅读 40,808评论 2 12
  • 参考什么是 Android 签名机制,Bluebox Security 发现的漏洞有何威胁? Android应用程...
    合肥黑阅读 6,266评论 1 16
  • 总觉得一无是处,一切都那么平庸甚至无能,自认为的聪明和能干,被现实狠狠抽醒。无能,却又不知怎样改变现实,迷茫就会开...
    Annalbeibei阅读 2,271评论 0 0

友情链接更多精彩内容