APK签名流程介绍[通俗易懂]

APK签名流程介绍[通俗易懂]实际上,现在Android开发IDE自带签名功能,但是有时我们还是可能遇到自己签名apk的场景的,比如你有一个未签名的apk,但是你要adbinstall到device上,这时我们在adbinstall之前就必须对该apk进行签名处理才能install成功,这篇文章就简单的介绍下apk签名流程吧。1、生成签名证书签名需要签名证书,签名证书类型实际上是有很多的,如jks、keysto…

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

实际上,现在Android开发IDE自带签名功能,但是有时我们还是可能遇到自己签名apk的场景的,比如你有一个未签名的apk,但是你要adb install到device上,这时我们在adb install之前就必须对该apk进行签名处理才能install成功,这篇文章就简单的介绍下apk签名流程吧。

1、生成签名证书

签名需要签名证书,签名证书类型实际上是有很多的,如jks、keystore等,这里以生成keystore为例来生成一个yjing.keystore签名证书文件。

本文利用JDK 下的keytool工具来生成keystore文件,相信配置好Android开发环境的童鞋应该都不会遇到keytool工具找不到的问题,这里直接使用命令

keytool -genkey -alias keyAlias -keyalg RSA -validity 20000 -keystore yjing.keystore

以上命令各参数含义如下:

-genkey 生成文件

-alias 别名

-keyalg 加密算法

-validity 有效期(天)

-keystore 文件名

就这样,我们生成了一个yjing.keystore的签名文件,实际上在签名过程中需要填写一些基本信息,这个随便填填就行了,然后在签名成功后会发现有如下提示
这里写图片描述

可以看到keytool工具现在已经推荐使用JKS的签名证书了,这个不管,反正我们已经拿到yjing.keystore了(我生成的yjing.keystore文件在C://users/对应用户名下)。

2、对apk进行签名

对apk签名还是利用JDK下的jarsigner工具来进行,我们通过如下命令来签名


jarsigner -verbose -keystore yjing.keystore -signedjar signed.apk unsigned.apk keyAlias

这里也说说参数吧
-verbose 输出签名的详细信息

-keystore 密钥库位置 后面跟签名证书文件路径

-signedjar 表示进行签名操作

signed.apk 生成的签名文件(不是当前路径时,需添加路径)

unsigned.apk 表示未签名文件

yjing.keystore 签名证书文件

keyAlias 生成签名时候的别名

通过以上命令也就能成功生成签名apk文件signed.apk了

参考文献

1、手把手,教你怎样用命令行给apk签名
2、生成签名证书keystore

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

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

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


相关推荐

  • hbase开启thrift2

    hbase开启thrift2

    2021年11月27日
    44
  • win10装kali linux双系统,win10安装kali组成双系统攻略「建议收藏」

    win10装kali linux双系统,win10安装kali组成双系统攻略「建议收藏」已在计算机上安装有win10系统,在这个基础上再安装kali组成双系统,所用的版本是KaliLinux2018.2,Linux内核为4.15版本。一、镜像下载根据需求下载自己需要的版本二、烧录这里推荐用win32diskimager,下载地址在这里,尝试了好几款烧录工具,这个是相对最稳定的。在win10中安装然后打开win32,如下图:第一步选中镜像位置。第二步选择要烧录的U盘的盘符,比如…

    2022年7月24日
    11
  • java 数字信封_【Java密码学】使用Bouncy Castle生成数字签名、数字信封

    java 数字信封_【Java密码学】使用Bouncy Castle生成数字签名、数字信封importjava.io.FileInputStream;importjava.io.InputStream;importjava.security.KeyStore;importjava.security.PrivateKey;importjava.security.Provider;importjava.security.Security;importjava.security.cert.C…

    2025年5月26日
    3
  • matlab求解高阶常微分方程_状态依赖时滞微分方程的动力学研究

    matlab求解高阶常微分方程_状态依赖时滞微分方程的动力学研究**前言:**大学期间只学习过《常微分方程》,没想到有些学校竟然还学《时滞微分方程》,于是找到一本由内藤敏机(日本)等著,马万彪等译的《时滞微分方程——泛函数微分方程引论》(有需要的可以私聊,CSDN貌似上传不了书籍,说侵权emmm),看着头秃,不过受到不少启发,尤其是对Logistic方程的改进,真真是长见识了。没找到有人用欧拉法解一阶时滞微分方程的,于是一不做二不休便用MATLAB实现了一下下…

    2022年10月1日
    5
  • Java.Utils:AES-128-CBC 加密方式

    packagecom.boob.common.utils;importorg.apache.commons.codec.binary.Base64;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.BadPaddingException;importjavax.crypto….

    2022年4月10日
    90
  • eclipse安装教程完整版

    eclipse安装教程完整版eclipse安装教程完整版安装Java教程安装eclipse教程安装Tomcat教程安装MySQL数据库教程安装Java教程到官网下载Java,这里推荐下载JavaSE8下载完成后点击安装,然后一直下一步,注意安装路径不要出现中文,不然可能会出错接下来配置环境变量,先找到Java的安装路径并复制路径右击计算机(没有计算机就右击此电脑)选择属性,点击高级系统设置,然后在高级下面选择环境变量这里有两种配置方法一种是采用绝对路径,一种是采用相对路径绝对路径:(推荐使用)选中系统变量中变量

    2022年5月13日
    51

发表回复

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

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