【android】签署应用采用相同证书的用处
在应用的预期生命周期内,您应使用相同证书签署所有 APK
- 应用升级:当系统安装应用的更新时,它会比较新版本和现有版本中的证书。如果证书匹配,则系统允许更新。如果您使用不同的证书签署新版本,则必须为应用分配另一个软件包名称 - 在此情况下,用户将新版本作为全新应用安装。
 - 应用模块化:Android 允许通过相同证书签署的多个 APK 在同一个进程中运行(如果应用请求这样),以便系统将它们视为单个应用。通过此方式,您可以在模块中部署您的应用,且用户可以独立更新每个模块。
 - 通过权限共享代码/数据:Android 提供基于签名的权限执行,以便应用可以将功能展示给使用指定证书签署的另一应用。通过使用同一个证书签署多个 APK 并使用基于签名的权限检查功能,您的应用可采用安全的方式共享代码和数据。
 
如果您计划支持升级应用,请确保您的应用签名密钥的有效期超出该应用的预期生命周期。建议有效期为 25 年或以上。当密钥有效期过期后,用户将不能再无缝升级到应用的新版本。
【android】签署应用采用相同证书的用处的更多相关文章
- XP机器上WCF采用X509证书加密时IIS读取证书的授权
		
XP机器上WCF采用X509证书加密时IIS读取证书的授权 XP下的授权命令为:winhttpcertcfg -g -c LOCAL_MACHINE\My -s 证书名称 -a "ASPNE ...
 - Android、IOS的Fiddler证书安装教程
		
通过手机连接fiddler实现代理访问,其中必须得安装证书才能生效,那么针对不同的手机连接方式也不一样,分为两类:Android.iOS: Android-Fiddler证书安装: 直接在任意浏览器中 ...
 - Android Studio中获取sha1证书指纹数据的方法
		
高德地图开发申请KEY的时候需要开发者提供SHA1证书指纹数据,在eclipse很容易就找到了,但是Android Studio很久也没找到,只能使用在网上看到的方法了,在Android Studio ...
 - 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
		
上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...
 - nginx配置https及Android客户端访问自签名证书
		
前一篇随笔通过keytool生成keystore并为tomcat配置https,这篇随笔记录如何给nginx配置https.如果nginx已配置https,则tomcat就不需要再配置https了.通 ...
 - 黎活明8天快速掌握android视频教程--20_采用ContentProvider对外共享数据
		
1.内容提供者是让当前的app的数据可以让其他应用访问,其他应该可以通过内容提供者访问当前app的数据库 contentProvider的主要目的是提供一个开发的接口,让其他的应该能够访问当前应用的数 ...
 - 黎活明8天快速掌握android视频教程--19_采用ListView实现数据列表显示
		
1.首先整个程序也是采用mvc的框架 DbOpenHelper 类 package dB; import android.content.Context; import android.databas ...
 - 黎活明8天快速掌握android视频教程--15_采用Pull解析器解析和生成XML内容
		
1.该项目主要有下面的两个作用 (1)将xml文件解析成对象的List对象,xml文件可以来自手机本地,也可以来自服务器返回的xml数据 (2)强list对象保存成xml文件,xml保存到手机的内存卡 ...
 - android 中对于采用okhttp时获取cookie并放入webview实现跳过登陆显示页面的功能
		
最近项目需要将网页的一些信息展示到app当中,由于采用的是okhttp进行网络的访问,并采用了cookie对于每次的访问请求都做了验证,所以在加入webview显示网页的时候会需要进行一下验证,为了跳 ...
 
随机推荐
- NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介
			
NET Core 1.1 静态文件.路由.自定义中间件.身份验证简介 概述 之前写过一篇关于<ASP.NET Core 1.0 静态文件.路由.自定义中间件.身份验证简介>的文章,主要 ...
 - 运行node提示:events.js:160  throw er; // Unhandled 'error' event
			
运行node时遇到下述提示: events.js:160 throw er; // Unhandled 'error' event或者events.js:160 throw er; // ...
 - python之简单登陆
			
简单的登陆 要求: 1.用户名输错3次,系统退出 2.密码输错3次,账号被禁用 3.使用文件操作知识 流程图: 项目代码: def login(): i=0 while i <3 : name ...
 - 前端js编码
			
1.首先是encodeURI和encodeURIComponent: 从名字可以清晰的看出他两都是主要用于url编码的,那之间有什么区别呢?唯一区别就是编码的字符范围,其中 encodeURI方法不会 ...
 - dynomite:高可用多数据中心同步
			
https://github.com/Netflix/dynomite Dynomite, inspired by Dynamo whitepaper, is a thin, distributed ...
 - gulp管理angular2项目 配置文件
			
目录结构: projectName |_ src |_ app |_ index.html |_ main.ts |_ systemjs.config.js |_ gulpfile.js |_ pac ...
 - c#基础值类和引用类型_字符串
			
值类型和引用类型区别:1.值类型和引用类型在内存上存储的地方不一样.2.在传递值类型和传递引用类型的时候,传递的方式不一样.值类型我们称之为值传递,引用类型我们称之为引用传递.我们学的值类型和引用类型 ...
 - oo总结
			
架构设计 第一次作业 需求分析 这次作业是针对类中的一些元素,如属性,操作,继承,实现等查询,所以这次的架构我们的第一感觉,按照正常的结构在类中存属性操作,继承的父类和实现的接口等. 具体功能 为了实 ...
 - mkcert本地 HTTPS 加密证书生成工具
			
软件介绍: mkcert 是一个生成本地 HTTPS 加密证书的工具,一个命令就可以生成证书,不需要任何配置. 下载地址: https://github.com/FiloSottile/mkcert/ ...
 - socket tcp使用recv接收数据时,返回errno错误代码88
			
原因:就是recv函数的第一个参数不是可用的,也就是第一个参数不是建立连接时返回的文件描述符. 解决方法:xxx