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

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

  1. 使用re-sign.jar对apk进行重签名

    准备: ① re-sign.jar重签名工具:(下载地址为:http://troido.de/downloads/category/1): ② 待重签名的apk:      重签名步骤: ① 右键re ...

  2. mac下自己实现re-sign.jar对apk进行重签名

    利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上 ...

  3. 转 对APK进行重签名

    1.      生成Android APK包签名证书1).     在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2).     运 ...

  4. apk重签名的两种方法

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

  5. Android APK 重签名

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

  6. re-sign重签名

    准备: ① re-sign.jar重签名工具:(下载地址为:http://troido.de/downloads/category/1): ② 从D:\Android\sdk\build-tools\ ...

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

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

  8. 用re-sign.jar重签名apk后安装失败的解决办法

    问题 打开re-sign.jar,将下载好的apk拖入re-sign.jar的界面进行重签名.重签名成功后,通过adb intall命令安装重签名后的apk文件失败.提示:Failure [INSTA ...

  9. [转]Android应用安装包apk文件的反编译与重编译、重签名

    背景介绍: 最近在做Robotium自动化测试,使用到solo.takeScreenshot()函数以在测试过程中截图,但此函数需要被测试APP具有<uses-permission androi ...

随机推荐

  1. angular中的jsonp记录

    angular的正常机制采用引入$http服务的形式进行 get post等的访问.但是在跨域访问的时候就需要采用jsonp了. 不废话,直接上示例和引用原文地址: 比如访问地址为 http://ur ...

  2. vs2013 中已经添加了引用,编译还是提示没有添加引用

    背景:在项目中需要引用wps中的etapi.dll.下载一个wps后,在项目中添加引用后. 同时在工程中使用using命令可以自动搜索进行添加该应用.但是,编译还是通不过.提示找不到excel.在网上 ...

  3. Yii2 基于RESTful api 坑 访问会把控制器名称变为复数

    'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrict ...

  4. Angular this vs $scope $event事件系统

    this vs $scope ------------------------------------------------------------------------------ 'this' ...

  5. HTML5入门总结 HTML5API

    w3cshools  MDN英文  MDN中文 HTML5 HTML5 is the latest evolution of the standard that defines HTML. The t ...

  6. Users is not mapped(Hibernate实体类采用注解)

    今天做简单的登陆验证web应用时,用HQL语句查询数据表时 总是出现Users is not mapped [from Users u where u.username=? and u.passwor ...

  7. token 小记

    最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强, ...

  8. 【HELLO WAKA】WAKA iOS客户端 之一 APP分析篇

    由于后续篇幅比较大,所以调整了内容结构. 全系列 [HELLO WAKA]WAKA iOS客户端 之一 APP分析篇 [HELLO WAKA]WAKA iOS客户端 之二 架构设计与实现篇 [HELL ...

  9. git中添加多个SSH公钥,以及不同系统之间的差别

    git学习已经也有一段时间了,基本的操作,口令会了一点点,但是还没有git团队开发的实践,这个有待加强~ git是在windows下面模拟Linux环境的,linux自带的ssh服务,可以通过该服务远 ...

  10. ACdream 1020 The Game about KILL

    找规律. 11 3 1 3 5 7 1 3 5 7 9 11 13 15 ....... #pragma comment(linker, "/STACK:1024000000,1024000 ...