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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微软最牛MS08-067漏洞各系统补丁下载地址

    微软最牛MS08-067漏洞各系统补丁下载地址本次MS08-067严重漏洞各系统补丁地址例如以下:中文操作系统KB958644补丁下载地址:WindowsVista安全更新程序(KB958644)http://download.mic

    2022年7月3日
    30
  • JavaScript动画基本原理

    JavaScript动画基本原理JavaScript动画基本原理在现在做页面很多时候都会用上动画效果。比如下拉菜单,侧边搜索栏,层的弹出与关闭等等。通常我们实现这些动画效果可以采用JavaScript与CSS3两种方式来实现。本文主要介绍JavaScript动画,CSS3的动画下次在总结。对于JavaScript动画目前有很多的动画插件库,如:Jquery等等.以下就简单介绍以下JavaScript动画的实现原理。1.动

    2022年10月16日
    3
  • 线程的停止与暂停

    线程的停止与暂停1.停止线程停止线程不像停止一个循环break一样干脆。停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作。虽然看起来简单,但是必须做好正确的防范措施,以便达到预期的效果

    2022年7月2日
    25
  • 在eclipse中建立java项目

    在eclipse中建立java项目 注意:安装前必备环境:安装eclipse之前必须安装JDK环境。安装方法主要有:下载JDK,安装JDK,配置JDK的环境变量,测设JDK是否安装好。具体步骤详见博文: java开发环境搭建 使用eclipse从头一步步创建java项目1.下载eclipse官网地址:http://www.eclipse.org/downloads/下载EclipseIDEforJava…

    2022年7月24日
    15
  • pycharm2021.11.2激活[最新免费获取]

    (pycharm2021.11.2激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~09LVN3XLKC-eyJsaWNlbnNlSWQiOi…

    2022年3月28日
    46
  • 一些JavaScript题目

    在JavaScript中,运行下面代码,sum的值是()。varsum=0;for(i=1;i<10;i++){if(i%5==0)break;sum=sum+i;}A.40B.50C.

    2021年12月21日
    39

发表回复

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

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