转载(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. CF449 (Div. 1简单题解)

    A .Jzzhu and Chocolate pro:现在给定一个大小为N*M的巧克力,让你横着或者竖着切K刀,都是切的整数大小,而且不能切在相同的地方,求最大化其中最小的块. (N,M,K<1 ...

  2. hdoj-1503 (LCS解的输出)

    题目链接 回溯输出解 #include <bits/stdc++.h> using namespace std; ; int dp[N][N],dir[N][N]; char s1[N], ...

  3. C# 8.0、.NET Framework 4.8与NET Standard 2.1的一个说明

    C# 8.0..NET Framework 4.8与NET Standard 2.1的一个说明 https://blog.csdn.net/sD7O95O/article/details/846098 ...

  4. hdu 1556 A - Color the ball 数状数组做法

    #include<bits/stdc++.h> using namespace std; ; int n; int c[maxn]; int lowbit(int x) { return ...

  5. gtk_init()

    #include<stdio.h> #if 0int main(int argc, char *argv[]){ char ***p = &argv; //传参退化成二级指针,对二 ...

  6. 诡异的磁盘空间100%报警分析得出df -h与du -sh的根本性差别

    前言:早晨磁盘报警刚清空完tomcat和nginx日志,使用的命令是类似echo "" > show_web-error.log或者> show_web-debug.l ...

  7. mino 路径格式的bucket 数据访问

    实施上这个功能很简答,如果官方不支持,我们可以通过基于nginx 的url rewrite 也可以实现 格式说明 如果配置了domain minio 会将 http://mydomain.com/bu ...

  8. Monitor Minio server with Prometheus

    转自:https://blog.minio.io/monitor-minio-server-with-prometheus-4ed537abcb74 Prometheus is an open sou ...

  9. 你不知道的JavaScript(中卷) (Kyle Simpson 著)

    第一部分 类型和语法 第1章 类型 1.1 类型 1.2 内置类型 1.3 值和类型 1.3.1 undefined和undeclared 1.3.2 typeof Undeclared 1.4 小结 ...

  10. C# 键盘响应事件及键值对照表

    键盘响应事件总结 键盘响应事件是在用户按下某个键后触发的事件,可以是任意操作,但不是任意键都可以被捕获的. 原型:public event KeyPressEventHandler KeyPress ...