换个姿势为安装包重签名

一直在关注这个Robotium开源框架,兴起开始耍起来,关于这个重签名,命令行我只说这个的,有的博主,我不得不再次吐槽,你自己试验了么?

现将个人实际操作总结如下:

step:

1、去除签名

将apk文件后缀改为.zip,然后从winrar中删除META-INF文件夹,删除后重新将文件名改成apk的后缀,这样就去除签名了。

2、JDK为1.6,

手动去除签名后然后用下面的命令进行签名:

注意下面黄色高亮和红色高亮的字,需要根据自己的debug.keystore的位置,和待签名apk的位置进行设置

> jarsigner -keystore C:\Users\Administrator\.android\debug.keystore -storepass android -keypass android d:edu_51cto_2.6.5_offical.apk androiddebugkey

> zipalign 4 d:edu_51cto_2.6.5_offical.apk d:edu_51cto_2.6.5_offical11.apk

zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)

3、JDK为1.7(含1.7)以上,签名稍有区别,需要加上参数:-digestalg SHA1 -sigalg MD5withRSA

jarsigner -keystore C:\Users\Administrator\.android\debug.keystore -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 d:edu_51cto_2.6.5_offical.apk androiddebugkey
zipalign 4 d:edu_51cto_2.6.5_offical.apk d:edu_51cto_2.6.5_offical11.apk

由于我装的是JDK1.7版本,故需要加上红色标记的命令,这点非常重要,一定要看清楚本机安装的JDK版本!

时间: 2024-12-22 09:04:11

换个姿势为安装包重签名的相关文章

安全性测试之安装包测试

安装包测试主要包括以下几点: 1.反编译代码: 2.安装包签名: 3.完整性校验: 4.权限设置检查. 下面对以上几点做详细介绍: 1.反编译代码:移动应用发出去后最终用户获得一个程序安装包,我们需关注用户能否从这个安装包中获取项目的源代码.从安全方面考虑,程序开发人员是否会在程序源代码中硬编码一些敏感信息,如密码等.常用的反编译方法是使用dex2jar工具并结合jd-gui工具(java的反编译工具)查看源代码. 下载dex2jar和JD-GUI 找到我们准备测试用的apk,并将 后缀.apk

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

背景介绍: 最近在做Robotium自动化测试,使用到solo.takeScreenshot()函数以在测试过程中截图,但此函数需要被测试APP具有<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />权限.在只有被测试APP的apk文件的情况下,修改apk文件后缀名为zip,解压缩后,修改AndroidManifest.xml文件,删除META-INF文件夹,重压缩为apk文

android 安装包签名问题探究

1.首先先科普一下,android为什么需要给安装包签名: 所有的Android应用程序在发布之前都要求开发人员用一个证书进行数字签名,anroid系统不会安装没有进行签名的由于程序.    平时我们的程序可以在模拟器上安装并运行,是因为在应用程序开发期间,由于是以Debug面试进行编译的,因此ADT根据会自动用默认的密钥和证书来进行签名,而在以发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名. 给apk签名可以带来以下好处:    1. 应用程序升级:如果你希望用户无缝升级

installshield制作的安装包卸载时提示重启动的原因以及解决办法

原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如下几种:1. 卸载时,程序正处于运行状态2. 卸载时,程序文件夹处于打开状态3. 卸载时,有文件被别的进程调用,或者在进程中,常见情况如dll在进程中 一般来说解决办法是针对第三种情况的,解决办法是卸载时强制杀进程,比如在OnMaintUIBefore或者OnUninstall里写上强制杀进程的代码

非越狱环境下从应用重签名到微信上加载Cycript

从零到一,非越狱环境下iOS应用逆向研究,从dylib注入,应用重签名到App Hook.文中用到的工具和编译好的dylib可在Github上下载. 注意!本文所有操作均在以下环境下成功进行,不同平台或环境可能存在某些问题,欢迎大家在issue中提出问题以及相互讨论. Mac OS X 10.11.6 (15G12a) Xcode 7.3.1 (7D1014) iPhone 5s, iOS 9.3.3 (13G21) 免费开发者账号 示例App:微信 v6.3.19.18 前言 提到非越狱环境下

lnmp、lamp、lnmpa一键安装包(Updated: 2016-4-12)

lnmp.lamp.lnmpa一键安装包(Updated: 2016-4-12) 文章目录 脚本特性 安装步骤 如何添加虚拟主机? 如何删除虚拟主机? 如何管理ftp账号? 数据备份 如何管理服务? 如何更新版本? 如何卸载? 如何重装? 更新日志 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine/OpenResty.MySQL/MariaDB/Percona.PHP),适用于CentOS 5~7(包括redhat).D

Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包

通过上一篇翻译的官方文章的介绍我们对sencha有了初步的印象,同时我们也通过该向导生成了第一个示例应用代码框架,那么下一步可能很多人都觉得应该根据该向导所提示的去看一下一个应用是如何建立起来的详细信息了,但我认为可以换一下学习的路径. 天地会珠海分舵是一个比较急功近利的人,所以有了第一个自动生成的代码示例后,他是比较急于想知道应该如何将该示例打包成一个安卓的apk安装包来安装到目标安卓机器上.刘备做得好,得陇就应该望蜀,做人还是有点追求的好. 下面我们就尝试通过一个HelloWorld的示例来

linux安装包管理:yum和rpm 文本处理:sed

1.每12小时备份并压缩/etc/目录到/data中,并保存文件格式为"etc-年-月-日-时-分.tar.gz" 编写脚本用来备份 文件/root/etcback.sh #!/bin/bash tar -zcf /data/etc-`date "+%F-%H-%M"`.tar.gz /etc/ &>/dev/null 执行crontab -e,加入0 1,13 * /root/etcback.sh,保存退出 确保crond服务启动 ps -aux|g

MySQL 5.6.26几种安装包的区别

http://downloads.mysql.com/archives/community/ 一.MySQL Installer 5.6.26 mysql-installer-community-5.6.26.0.msi, 364.2MBMySQL Installer 提供了简单易用.向导式的 MySQL 软件的安装体验过程(目前只支持 Windows),包含的产品有:MySQL Server,所有的 connectors,Workbench 和示例模型,示例数据库,文档.该安装包大而全. 二.