1、下载apkpatch-1.0.3,解压

网上下载,或者下载我这里的

链接:pan.baidu.com/s/1pTDDT8 密码:3vfh

2、apk更替

在apkpatch-1.0.3中把你生成的1.apk(旧) 和2.apk(新,修改后的包)复制到apkpatch-1.0.3文件中,把你的签名文件:**.keystore(可以放安卓默认的,或自己的)也复制到apkpatch-1.0.3文件中

3、命令行

切到apkpatch文件夹

cd apkpatch-1.0.3

adb install 1.apk

打包

注意我的是MAC,所以是.sh文件,debugkeystore是AS自带的,2.apk是新的apk,1是旧的

./apkpatch.sh -f 2.apk -t 1.apk -k debug.keystore -p android -a androiddebugkey -e android -o patch

命令行意思:

apkpatch -f new.apk -t old.apk -o 输出目录 -k 签名文件 -p 签名密码 -a 机构名 -e 机构签名密码

push 补丁到SD卡

把apatch push到SD卡 sdcard 是我的路径 根据自己的路径来

adb push patch/out.apatch /sdcard/

重新安装1.apk 并run

adb install -r 1.apk

Run 起来,Tag 为APP有如下日志输出:

App: inited.
App: apatch loaded.
App: apatch:/storage/emulated/0/out.apatch added.

备注:

使用了apk加固时(360加固,百度加固等等),发现在加固前要先apkpatch制作补丁, 不能使用加固后的apk制作,否则补丁无法使用,但是在加固前制作的补丁可以很容易的被反编译出源码

demo

导入module

qiushi123/AndFixDemo?

github.com
图标

compile

AlanCheen/AndFixDemo?

github.com
图标

推荐阅读:
相关文章