网站:https://ibotpeaches.github.io/Apktool,下载安装好apktool。

我的安装在 C:\Users\Administrator\Downloads\apktool反编译工具2.2.2。apk我放在c盘根目录,名字叫test.apk,cmd打开命令行。

运行:apktool d -f c:\test.apk

当前目前便会生成一个test的目录,对应的包的文件目录。

如要做啥修改,可以自行修改包的内容,有些加密了可能修改不了。改完了然后得重新编译成apk。

运行:apktool b test
 
(图示)

查看test目录,里面多了一个dist目录,目录里面有个test.apk

也可以运行:java -jar apktool.jar b -f test

网上看有人会报错:
F:\apktool>apktool b Hello Hello.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml

解决方法:进行反汇编时,改用命令apktool d -r xx.apk xx便可以解决(加上了-r选项)。

但这种包并不能安装,需要签名才能安装。

此处需要安装java环境,如未安装,请自行安装。我的安装在:G:\Program Files (x86)\Java

依然cmd,g:,cd G:\Program Files (x86)\Java\jdk1.7.0\bin

之后输入命令:keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore

您的名字与姓氏是什么?
  [Unknown]:  webyang
您的组织单位名称是什么?
  [Unknown]:  webyang
您的组织名称是什么?
  [Unknown]:  webyang
您所在的城市或区域名称是什么?
  [Unknown]:  new york
您所在的省/市/自治区名称是什么?
  [Unknown]:  new york
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=webyang, OU=webyang, O=webyang, L=new york, ST=new york, C=cn是否正确?
  [否]:  Y

查看当前bin目录,生成了新文件:abc.keystore,把上面的test.apk放到这个bin目录,再次运行:

jarsigner -verbose -keystore abc.keystore -signedjar testx.apk test.apk abc.keystore

发现生成了testx.apk,此apk为最终安装版本。

后来我安装出现了以下错误。

INSTALL_FAILED_UPDATE_INCOMPATIBLE

原因:就是你的安装包与之前设备上的安装包签名不一致。百度的时候,有的人说:运行太多次也会出现上述的问题,我就这样

手机是安卓9的华为mate10.

下面是原文,最好在测试机上进行,直接root就行。

https://blog.csdn.net/u012150360/article/details/55223619

【转】利用apktool反编译apk,并且重新签名打包的更多相关文章

  1. 利用apktool反编译apk

    下载apktool所需文件: a. apktool1.5.2.tar.bz2 b.apktool-install-windows-r05-ibot.tar.bz2  (windows系统) 步骤阅读 ...

  2. ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名

    http://my.oschina.net/mopidick/blog/135581 以ubuntu的环境为例子,window的大同小异 首先下载apktool工具:https://code.goog ...

  3. apktool反编译apk文件

    1.首先下载apktool文件,可以从我的网盘下载:http://pan.baidu.com/s/1nvPdbVb 2.将你的apk文件和apktool文件放到一个文件夹下,这里就放到D:\study ...

  4. Apktool反编译apk资源文件

    Android开发过程中,如何查看已经打包的APK内部xml呢,google下找到了apktool这个工具, apktool项目现在已经迁移到了github:apktool 目前最新版本2.2.2,如 ...

  5. 利用dex2jar反编译apk

    下载工具dex2jar和jd-gui ,解压 将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的) 将获 ...

  6. 使用apktool反编译apk文件

    Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...

  7. 如何利用dex2jar反编译APK

    工具/原料 电脑 dex2jar JD-GUI 方法/步骤 1 下载dex2jar和JD-GUI,在参考资料中添加了这两个工具的百度网盘下载地址供读者下载使用(笔者亲测) 2 找到我们准备测试用的ap ...

  8. Uubuntu 14.04 LTS反编译apk

    使用apktool反编译apk 1.安装apktool apktool是Google提供的APK编译工具,能够反编译及回编译apk,需要Java环境的支持(在此不再赘述Java的安装与配置,详见< ...

  9. 如何反编译APK?

    1.概述 一些商业的app都包含很多精美的图片还有一些比较好的配置文件,以前某师兄就说过apk把后缀改为zip,然后解压一下就可以获得很多图片资源,但是这时候你打开一下解压出来的xml资源全是乱码.通 ...

随机推荐

  1. 分布式任务调度平台XXL-JOB搭建教程

    关于分布式任务调度平台XXL-JOB,其实作者 许雪里 在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式 ...

  2. xml转对象,对象转xml工具类

    package com.dq.schooldomain.utils; import com.thoughtworks.xstream.XStream; import com.thoughtworks. ...

  3. Java 异常体系

    1.异常简介 Java把异常作为一种类,当做对象来处理.所有异常类的基类是Throwable类,两大子类分别是Error和Exception. 系统错误由Java虚拟机抛出,用Error类表示.Err ...

  4. mysql-笔记--增删改查

    查看数据库:可以使用 show databases; 命令查看已经创建了哪些数据库 指定数据库:在登录后使用 use 语句指定, 命令: use 数据库名;要对一个数据库进行操作, 必须先选择该数据库 ...

  5. jdk安装及配置

    点击jdk文件运行 安装完成后的目录: 2,在系统变量下面配置 JAVA_HOME:你自己的jdk的路径 CLASSPATH= .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME% ...

  6. Linux 学习 (七) 挂载命令 & 用户登陆查看

    Linux达人养成计划 I 学习笔记 挂载命令 mount:查询系统中已经挂载的设备 mount -a:根据配置文件 /etc/fstab 的内容,自动挂载 mount [-t 文件系统] [-o 特 ...

  7. python基础4 列表和元组

    一. 列表列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长li = ['hello', 100, True, [1, 2, 3], {'name':' ...

  8. Django模板语言进阶

    一.母板 1.什么情况下使用母版 当多个页面的大部分内容都一样的时候,我们可以把相同的部分提取出来,放到一个单独的母版HTML文件中 然后在母版中定义需要被替换的block 例如:母板页面 <! ...

  9. CF914G Sum the Fibonacci

    解:发现我们对a和b做一个集合卷积,对d和e做一个^FWT,然后把这三个全部对位乘上斐波那契数,然后做&FWT就行了. #include <bits/stdc++.h> , MO ...

  10. POJ 1015 Jury Compromise(双塔dp)

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 33737   Accepted: 9109 ...