android 热修补之andfix实践

  • 时间:
  • 浏览:3

我就看下官网的demo主也不在android装载到内存的但是去加载我门新的dex的包,或者加载到内存,要研究原理的请到这人 地址去查看:

或者我是使用module的最好的办法打上去andfix,另另一个多 都可不可不都上能直接查看编辑源码,或者直接gradle导入得话还有个问题图片,顶端再说。

https://github.com/rovo89/Xposed

下面主要说实现:

如无错误,编译都是生成另一个多 apatch文件,改名成out.apatch

andfix里一些文件夹不需要导入的,相似tools,doc等,记得新建jniLibs文件夹,libs里的so文件移到jniLibs里。

接下来我门参照官网的demo

https://github.com/CtripMobile/DynamicAPK

安装打开1.apk

https://github.com/alibaba/dexposed

http://blog.csdn.net/xiangzhihong8/article/details/50949691

关闭app,将out.apatch放sdcard根目录后,重新打开app,toast最好的办法改变了

https://github.com/simpleton/dalvik_patch

3.bsdiff  http://blog.csdn.net/lazyer_dog/article/details/47175013

https://github.com/lzyzsd/AndroidHotFixExamples

https://m.oschina.net/blog/508583(Android Dex分包方案)

下面我门打包:

https://github.com/bunnyblue/DroidFix

这里的keystore就有你签名包

顶端的smali列出了不同的文件,diff.dex也不android 虚拟机加载运行的不同的文件。

http://bugly.qq.com/blog/?p=781(QQ空间的处置方案)

但是说的直接在gradle里导入andfix会有个问题图片,是在另另一个多 的项目中,加载一次补丁后,out.apatch文件会copy到getFilesDir目录下的/apatch文件夹中,在下次补丁更新时,会检测补丁是算是将会打上去在apatch文件夹下,已指在就不需要克隆加载sdcard的out.apatch。

另另一个多 的addpath最好的办法

2)  有几个开源热修复或插件化处置方案(排名不分先后)

apkpatch.bat -f new.apk -t old.apk -o output1 -k suning.keystore -p Suning1234 -a suning -e Suning1234 【完整版命令】







apkpatch -f new.apk -t old.apk -o output -k xzh.jks -p 19881205 -a keyalias -e 19881205

https://github.com/alibaba/AndFix

对于网上提供的热补丁修复就不需要 说了,主要有这3种最好的办法都可不可不都上能实现(至于一些的最好的办法,暂不清楚)

http://blog.csdn.net/lmj623565791/article/details/49883661(鸿洋)



解释下这人 意思,apkpatch -f <new apk> -t <old.apk> -o<输出位置> -k <keystore> -p<password> -a <key alias> -e <password>

http://lirenlong.github.io/hotfix/(浅析xposed、dexposed和AndFix的原理)

还有源码混淆

https://github.com/dodola/HotFix

首先有这方面都可不可不都上能的请到https://github.com/xiangzhihong/andfixDemo/tree/master下载例子

3)  技术原理博客(排名不分先后)

顶端这人 命令有点问题图片,用下面的:

1.dexposed     github https://github.com/alibaba/dexposed

https://github.com/jasonross/Nuwa

cmd输入命令,具体参数看usage

首先 git clone github https://github.com/alibaba/AndFix,将andfix项目下载下来,Android studio都可不可不都上能在build.gradle里导入andfix,

2.andfix   github https://github.com/alibaba/AndFix