Skip to content

AlanCheen/AndFixDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

25fb24e · May 20, 2016

History

7 Commits
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016
May 20, 2016
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016
Apr 21, 2016

Repository files navigation

AndFixDemo

关于为什么要选择AndFix,可以去看看我之前写的文章AndFix的抉择

AndroidStudio,AndFix的Demo(官方的Demo是Eclipse的)

APK我已经生成好了,另加基本使用教程(官方的文档写的不是很清晰)

反正我什么都准备好了,想体验一下的可以看一下!!

直接体验

我已经准备好了一切,是不是超贴心!

安装 1.apk

cd apkpatch-1.0.3
adb install 1.apk

Run 起来,查看 log,Tag为 MainActivity,可以看到日志:

MainActivity: a
MainActivity: 0
MainActivity: 10

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.

MainActivity 日志 :

MainActivity: b (不再是a而是b了!)
MainActivity: 0
MainActivity: 10

同时,TAG为euler 也有fix success的信息输出

表示成功啦!~

生成apatch

官方没有给具体的实例,这里我提供一个实例:

注意我的是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

执行完会有如下日志输出,并且在patch目录下生成补丁文件

add modified Method:Ljava/lang/String;  a(Ljava/lang/String;)  in Class:Lme/yifeiyuan/andfixdemo/A;
add new Method:Ljava/lang/String;  c()  in Class:Lme/yifeiyuan/andfixdemo/A;
add modified Method:I  b(Ljava/lang/String;Ljava/lang/String;)  in Class:Lme/yifeiyuan/andfixdemo/A;

Bitdeli Badge