转载(http://www.51testing.com/?uid-115892-action-viewspace-itemid-223023

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)  resources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源。

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文件

apk重签名方法的更多相关文章

  1. Android测试之 APK重签名方法

    方法一:命令行重签名 D:\>keytool -helpkeytool 用法: -certreq [-v] [-protected] [-alias <别名>] [-sigalg & ...

  2. Android APK 重签名

    对APK 进行在线 加固后,Apk体积一般会变大,而且Apk会无法直接安装,因为缺少了你的签名.是的,你需要对这个Apk进行重签名. 如何重签名 重签名的方法,一般来说,有两种,第一种是用JDK自带的 ...

  3. Android签名文件转化为pk8和pem来对apk重签名

    当我们需要修改已经打包好的apk中的某个文件时,比如改下图标,我们势必要采用反编译apk,改文件,重编译apk,重签名才行,参考:https://www.cnblogs.com/zndxall/p/9 ...

  4. apk重签名的两种方法

    因为robotium要求被测应用和测试代码要有一致的签名, 所以需要将apk包重签名. 方法一:通过re-sign.jar来产生debug key的apk(不适用于jdk 7以上) re-sign.j ...

  5. APK重新签名方法

    Android使用SHA1-RSA算法进行签名.可通过eclipse插件进行,可以通过keytool和jarsigner 用命令行执行,也可以在源码下进行签名. 第一种:通过使用eclipse进行签名 ...

  6. APK重签名总结

    keytool -genkey -alias aeo_android.keystore -keyalg RSA -validity 20000 -keystore aeo_android.keysto ...

  7. 不越狱安装破解软件,iResign重签名方法

    http://www.baidu.com/s?wd=iresign%E8%BD%AF%E4%BB%B6&rsv_spt=1&issp=1&rsv_bp=0&ie=utf ...

  8. Android反编译(三)之重签名

    Android反编译(三) 之重签名 [目录] 1.原理 2.工具与准备工作 3.操作步骤 4.装X技巧 5.问题 1.原理 1).APK签名的要点 a.所有的应用程序都必须有数字证书 ,Androi ...

  9. 重签名提示:无法对 jar 进行签名: java.util.zip.ZipException

    使用jarsigner对APK重签名,提示:jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed ...

随机推荐

  1. 完整的AJAX

    $.ajax({url:"请求路径",data:{"key":前端传入后台处理的数据},type:"post", //请求方式dataTyp ...

  2. lesson1-fastai

    fast-ai系统资料https://www.jianshu.com/p/2fe22a6b0ecb 中文视频 https://www.bilibili.com/video/av10156946/ind ...

  3. rest-framework之版本控制

    rest-framework之版本控制 本文目录 一 作用 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 源码分析 回到目录 一 作用 用于版本的控制 回到目录 二 内置的版本控制类 f ...

  4. YIT-CTF—Web

    一:背后 打开传送门——>查看网页源代码——>1b0679be72ad976ad5d491ad57a5eec0——>用MD5解密 二:一种编码 [][(![]+[])[+[]]+([ ...

  5. python str使用笔记(更新)

    判断字符串是否以某个串为结尾: str.endswith(strtmp) 返回True/False >>> strs='aba' >>> strs.endswith ...

  6. linux----别名

    经常一些命令太长,输入太麻烦,给该命令起个别名,直接执行,简单又方便. 1.查看别名 alias 2.编辑别名 vi ~/.brashrc 3.添加自己的别名 例如:重启网卡 alias netres ...

  7. 使用JQuery反向选择checkbox

    HTML代码: <input id="haspda" type="checkbox" name="haspda" value=&quo ...

  8. LG3809 【模板】后缀排序

    题意 题目背景 这是一道模板题. 题目描述 读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的 ...

  9. hostswap dcevm

    什么是dcevm dcevm(DynamicCode Evolution Virtual Machine)是java hostspot的补丁(严格上来说是修改),允许(并非无限制)在运行环境下修改加载 ...

  10. drone 1.0 新功能试用以及说明

    drone 1.0 rc 已经发布,新的功能很强大,界面比旧版本更加人性化,和git 的集成也更高了 测试环境准备 试用gogs 做为git 管理工具 docker-compose 文件 versio ...