android 应用的证书签名跟系统签名

android 应用的证书签名跟系统签名作为软件行业的从业者都知道,一款软件的开发过程中肯定会诞生两种版本,即debug版本和release版本,debug版本包含有调试信息,一般来说都要比release版本大,android应用当然也不例外1.证书签名并不是所有的apk文件都能成功安装到安卓设备上,android系统要求只有签名后的apk文件才可以安装,因此我们还要对生成的apk文件进行签名才行在androidstudio中直接运行项目生成的都是测试版debug安装文…

大家好,又见面了,我是你们的朋友全栈君。

        作为软件行业的从业者都知道,一款软件的开发过程中肯定会诞生两种版本,即debug版本和release版本,debug版本包含有调试信息,一般来说都要比release版本大,android应用当然也不例外

1.证书签名

        并不是所有的apk文件都能成功安装到安卓设备上,android系统要求只有签名后的apk文件才可以安装,因此我们还要对生成的apk文件进行签名才行        

        在android studio中直接运行项目生成的都是测试版debug安装文件且android studio使用了一个默认的keystore文件进行了自动签名,该签名的位置可在android studio右侧的工具栏的gradle ->项目名->app->task->android->signingReport文件查看

方法一

        程序的正式发布版release版本需要使用一个正式的keystore文件来进行签名,使用android studio生成签名文件的方式有两种,一种是使用android studio导航栏上的Build->Generate Signed Bundle/APK

android 应用的证书签名跟系统签名

android 应用的证书签名跟系统签名 

 上图的Android App Bundle文件用于上架Google Play商店的,使用这种类型的文件,Google Play可以根据用户的手机,只下发它需要的那部分资源.比如一个高分辨率的手机,是没有必要下载低分辨率目录下的图片的,一个arm架构的手机,也没有必要下载x86架构下的so文件,因此Android App Bundle文件可以显著的减少App的下载体积,但缺点是它不能直接安装到android设备上,也不能用于上架除Google Play之外的其他应用商店

不管选择创建的是Android App Bundle 文件还是APK文件,后面的流程都是一样的

android 应用的证书签名跟系统签名

既然你看到这篇博客了那就说明你还没有一个正式的keystore文件,所以还是点击Create new按钮,如果你已经有一个正式的文件,就选择Choose existing按钮

android 应用的证书签名跟系统签名

因为这里ljl.jks文件我已经创建过了,这里新建另一个文件Gerecoc.jks,点击ok

android 应用的证书签名跟系统签名 

勾选记住密码,省的以后需要输入keystore密码

android 应用的证书签名跟系统签名 

android 应用的证书签名跟系统签名 

点击finish等一会就会生成apk文件

android 应用的证书签名跟系统签名 

android 应用的证书签名跟系统签名 

 点击locate可以立即查看生成的apk文件

android 应用的证书签名跟系统签名

 该文件名被我设置为固定文件名,如果未设置生成文件名则是app-release.apk

如果前面选择创建Android App Bundle文件则这里会得到一个.aab后缀的签名文件

方法二

使用Gradle生成

编辑app/build.gradle文件

android 应用的证书签名跟系统签名

android 应用的证书签名跟系统签名 

 然后点击右侧的工具栏Gradle->项目名称->app->Tasks->build

android 应用的证书签名跟系统签名

 双击assemble会同时生成debug和release两个版本的文件

android 应用的证书签名跟系统签名

以上就是生成证书签名的方式

assemble就是用于生成APK文件的,他会同时生成debug和release版本,apk文件自动生成在app/build/outputs/apk目录下,release目录下的apk文件就是带有正式签名的apk文件,如果没有设置签名文件可能也会生成release目录apk,但是这个apk无法安装,如果强行安装会失败并提示没有没有证书

如图:

android 应用的证书签名跟系统签名

注意:证书签名可以生成release版本的apk,相比于使用默认证书生成的debug版本apk,release版本更小,运行速度更快,当然也可以直接发布debug版本的apk

2.系统签名

要实现apk静默安装,修改系统声音之类的功能,需要对apk进行系统签名,系统签名跟证书签名是不同的两个概念

系统签名需要系统证书,该系统证书是编译安卓版本的时候产生的文件,用于证明你的apk准许操作系统层级的指令,如果你想获得该证书则需要找为你提供安卓系统的厂家

android 应用的证书签名跟系统签名

 如上图中的划线文件就是系统证书

如果要使用系统证书签名,则需要在AndroidManifest.xml中添加红线部分

android 应用的证书签名跟系统签名

 注意:如果添加了上述红线部分的sharedUserId则一定要进行系统签名,否则编译出来的apk无法安装,如安装则会出现以下问题

android 应用的证书签名跟系统签名

 安装失败,共享用户不兼容

所以一定要注意,一旦使用了sharedUserId标签则一定要进行系统签名

下面演示下系统签名的命令

java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk app_signed.apk

该指令对应上图的文件目录结构,应该很轻易看懂

android 应用的证书签名跟系统签名

如上,执行指令后进行系统签名,生成了app_signed.apk

下面安装该系统签名apk

android 应用的证书签名跟系统签名 

可以看到本次系统签名后的apk安装成功,且该apk可以控制系统层级的指令,如调整亮度,调整声音

系统签名的文件系统压缩包分享到百度网盘上了

链接:https://pan.baidu.com/s/16mcMb04M2ZpK2lq99MjLuQ 
提取码:2duw 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133140.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • glusterfs分布式文件存储搭建和使用[通俗易懂]

    glusterfs分布式文件存储搭建和使用[通俗易懂]Glusterfs简介GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。说起glusterfs可能比较陌生,可能大家更多的听说和使用的是NFS,GFS,HDFS之类的,这之中的NFS应该是使用最为广泛的,简单易于管理,但是NFS以及后边会说到..

    2022年5月30日
  • 从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版[通俗易懂]

    从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版[通俗易懂]本文3.0版本文章本文内容,和netcore2.0一样,不需要更新。更新很多小伙伴在用IIS发布的时候,总是会有一些问题,文章下边 #autoid-6-0-0 我也简单的

    2022年7月2日
  • vscode新建html文件并快速生成标准的html代码[通俗易懂]

    vscode新建html文件并快速生成标准的html代码[通俗易懂]vscode下载安装:在官网下载vscode最新版本并安装,打开如图所示:步骤一:新建文件将自动生成Untitled-1文本文件步骤二:在打开窗口的文件右小角单击文件类型在弹出来的文件类型里选择html步骤三:在html文件里输入英文感叹号!,然后输入tab键,将自动生成标准的html…

    2022年8月22日
  • QQ开心农场外挂软件设计思路「建议收藏」

    QQ开心农场外挂软件设计思路「建议收藏」今天玩了一下QQ的开心农场,我有一堆朋友在玩。每次去偷别人的东西时,都要一个一个地点选,看看是否有可摘的东西。然后还要一个个地点摘取,这样才算偷到,感觉好像有点太麻烦了。有时候朋友的东西可摘了,但是我没时间去看(总不能每XX分钟查一次,每次查全部的朋友的吧。。@@,那样会累死。。)然后我就想,如果有一软件,可以自动去自己的好友的地里偷东西。每隔十分钟查一次,如果好友的地里有东西可以摘,就把它…

    2022年9月3日
  • 微信自动添加好友软件打包下载

    微信自动添加好友软件打包下载

    2021年9月17日
  • 2021韩顺平图解linux_狗剩学习笔记

    2021韩顺平图解linux_狗剩学习笔记韩顺平图解Linux全面升级https://www.bilibili.com/video/BV1Sv411r7vdP001_韩顺平图解Linux全面升级_课程内容20:37P002_韩顺平图解Linux全面升级_应用领域05:05P003_韩顺平图解Linux全面升级_概述16:37P004_韩顺平图解Linux全面升级_Linux与Unix18:09P005_韩顺平图解Linux全面升级_vmware15.5安装17:36P006_韩顺平图解

    2022年5月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号