Android APK包签名或重签名

本文介绍如何使用Java JDK自带的keytool工具生成签名证书,并利用jarsigner工具为Android APK包进行签名,包括创建证书、删除旧签名文件及重新签名的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.生成Android APK包签名证书

1).在doc中切换到jdk的bin目录

cd C:\Program Files\Java\jdk1.6.0_18\bin

2).运行下面的命令

keytool –genkey –alias android123.keystore –keyalg RSA –validity 20000 –keystore android123.keystore

/*解释:keytool工具是Java JDK自带的证书工具

-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)

-alias参数表示:证书有别名,-alias mine.keystore表示证书别名为:mine

-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取

-validity 20000表示有效时间20000天( K3

-keystore mine123.keystore表示要生成的证书名称为mine123

*/

输入完回车后屏幕显示:: a4 x: O. i5 I

输入keystore密码:[密码不回显](一般建议使用20位,最好记下来后面还要用)

再次输入新密码:[密码不回显]( o' ^$ _( F( K& I0

您的名字与姓氏是什么?

[Unknown]:lili# E# C/ Z! O) I; K6 r7 M-

您的组织单位名称是什么?

[Unknown]:snoopy' |3 v& I! _/ l

您的组织名称是什么?

[Unknown]:snoopy team

您所在的城市或区域名称是什么?) L# V' |. E0 f; {

[Unknown]:beijing

您所在的州或省份名称是什么?

[Unknown]:beijing

该单位的两字母国家代码是什么

[Unknown]:CN- m. ~1 W. i0

CN=lili, U=snoopy, O=snoopy team, L=beijing, ST=beijing, C=CN正确吗?

[否]:Y

输入< mine.keystore>的主密码

(如果和keystore密码相同,按回车):

查看C:\Program Files\Java\jdk1.6.0_18\bin,生成了以后签名用的证书Key:mine123.keystore

2.删除之前的签名文件

1).用解压工具解压缩apk文件(如:解压到D:\Sign\PhoneBook)

压缩包内容解析:

(1)META-INF目录:存放签名后的CERT和MANIFEST文件,用于识别软件的签名及版权。

(2)res目录:存放各种Android原始资源,包括:动画anim、图片drawable、布局layout、menu菜单、xml等等

(3)AndroidManifest.xml编码后的Android项目描述文件,包括了Android项目的名称、版本、权限、程序组件描述等等

(4)classes.dex编译后Class被dx程序转换成Dalvik虚拟机的可执行字节码文件

(5)qresources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源。

2).找到下面的目录META-INF,删除目录META-INF

3).将PhoneBook整个文件夹用zip工具,重新打包成zip压缩包,然后更改后缀为apk (注意:产生的PhoneBook.zip中没有二级根目录)

3.重新签名APK文件

1).将证书复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign)

2).在doc中切换到需要重新前面的apk文件的目录下

cd D:\Sign

3).运行下面的命令

jarsigner –verbose –keystore mine123.keystore –signedjar PhoneBook_signed.apk PhoneBook.apk mine.keystore

/*解释:* ^, {& k1 Z. M* P/ M+ K5 n5 hjarsigner是Java的签名工具# K8 ~% s# Y. @6 P

-verbose参数表示:显示出签名详细信息

-keystore表示使用当前目录中的mine123.keystore签名证书文件。

-signedjarPhoneBook_signed.apk表示签名后生成的APK名称,% v! a7 e2 v4 W# ]; GPhoneBook.apk表示未签名的APK Android软件,mine.keystore表示别名

*/

输入完回车后屏幕如下图显示:

查看D:\Sign目录,已生成重新签名后的PhoneBook_signed.apk文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值