Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shoyu666/derocoodemo

a demo depend rocoofix
https://github.com/shoyu666/derocoodemo

Last synced: about 12 hours ago
JSON representation

a demo depend rocoofix

Awesome Lists containing this project

README

        

# derocoodemo @Deprecated (see https://github.com/Tencent/tinker)

a demo depend rocoofix
#基于https://github.com/dodola/RocooFix 静态修复部分的demo
###android gradle version!
com.android.tools.build:gradle:2.1.2
###android 6.0说明:
测试发现有2种情况补丁不生效

1:没有开启scanf

2:程序无法读取sdcard上的补丁,即使后面手动开启权限,也存在file.canread==false[原因未知]

demo修改:

1添加scanf

2界面显示应用的补丁目录(上面情况2下,走data/data)

###demo 涉及:

1抽象patch补丁包的路径(默认放在data/data/下,或者放在sdcard,可以自定义)

2抽象patch下载(简单实现了个默认的,可以根据需要修改成自己的下载逻辑)

##问题汇总(表格会遮挡,请拖动)

###编译不通过请加入--stacktrace 查看具体错误信息

| 问题 | 原因 | 建议 |
| ------------- |:-------------:| -----|
| java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation | 插桩没有成功 | app反编译看看是否插桩成功,(之前用dex2jar出现看不到插庄,但实际已经插庄)这里推荐工具jadx-gui(从群友幽幽那里得知的工具,在此鸣谢)(derocoodemo/app/doc/QQ20160708-0.png是插庄成功的截图) |
| patch.jar生成不了|估计流程不对 |参考(derocoodemo/app/doc/77d89a39e481ed8c0cd5f4c8a2cfbe86f5bdf8b9_1.jpg)|
| hash.txt为空|没有开启混淆|开启混淆|
|scanref打开后报错 找不到属性|插件版本太低|demo已经应用最新插件|
|mininum sdk小于15|sdk版本不一致|use overrideLibrary|
|Error:Execution failed for task app rocooJarBeforeDexDebug|gradle 版本太低|com.android.tools.build:gradle:2.1.2|
|>com/android/dx/cf/direct/AttributeFactory|gradle 版本太低|com.android.tools.build:gradle:2.1.2|
|rocoo稳定么||rocoo是基于扣扣空间的方案,稳不稳定看下面微信对qq空间方案的评价|
|Unsupported major.minor version 52.0|高版本的java project使用了低版本的来运行|使用高版本Jdk编译 .. 1.8|

###注意

1任何在补丁加载前的类(比如Application及其子类)都不能插入Hack.class

2最新插件必须开混淆

3includePackge 包名是 /分割 不是 .分割

4excludeClass a.class,b.class 不带包名

5rocoo(lib库)是1.1,rocoofix(插件)是1.2.6 或者自己编译源代码
###mark:

debug阶段建议设置成sdcard的,方便替换测试


需要增量补丁的可以使用bsdiff实现

https://github.com/shoyu666/bsdiffAndroidDemoWithSo

###热修复相关文章:


1 rocoo静态原理基于扣扣空间文章

https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a&scene=1&srcid=1106Imu9ZgwybID13e7y2nEi#wechat_redirect

###2微信的总结
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=2649286306&idx=1&sn=d6b2865e033a99de60b2d4314c6e0a25&scene=23&srcid=0705vd1zLzQEHZ9G6JyQSqTG#rd

###补丁生成流程简介
图片名称
###在线补丁流程思路
图片名称