Meituan-Dianping / Meituan-Dianping/Robust
AutoPatch 成功, 加载逻辑修复成功, 但 patch.jar 反编译异常
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 4.5k
- Forks
- 806
- PR merge metrics
- No merged PRs in 30d
Description
异常类型:编译异常
Robust版本:0.4.75
Gradle版本:2.14.1
系统:Mac
出现一种情况, autoPatch 成功, 且 Patch 加载后功能修复正常, 但是 patch.jar dex - jar - jdGui 在 jdGui 中出现以下现象, 不能正常反编译为 java 代码. 这种现象正常吗?
/* JADX: method processing error */
/*
Error: jadx.core.utils.exceptions.DecodeException: Load method exception in method: com.ymt360.app.mass.hotfix.APIManagerPatch.buildNetworkRequest(java.lang.String, com.ymt360.app.fetchers.api.IAPIRequest, java.lang.String, com.ymt360.app.entity.ApiEntity):com.ymt360.app.fetchers.network.NetworkRequest
at jadx.core.dex.nodes.MethodNode.load(MethodNode.java:116)
at jadx.core.dex.nodes.ClassNode.load(ClassNode.java:249)
at jadx.core.ProcessClass.process(ProcessClass.java:34)
at jadx.api.JadxDecompiler.processClass(JadxDecompiler.java:306)
at jadx.api.JavaClass.decompile(JavaClass.java:62)
Caused by: java.lang.NullPointerException
at jadx.core.dex.nodes.MethodNode.addJump(MethodNode.java:370)
at jadx.core.dex.nodes.MethodNode.initJumps(MethodNode.java:356)
at jadx.core.dex.nodes.MethodNode.load(MethodNode.java:106)
... 4 more
*/
/*
r0 = this;
r26 = java.lang.System.out;
r27 = "robust";
r28 = "get static value is out No: 1";
android.util.Log.d(r27, r28);
r27 = "devliu - ymtbase patch Sucessful"; more ....
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported flow with Robust 0.4.75 on Mac and Gradle 2.14.1: generate the patch, convert patch.jar through dex-to-jar, and open it in JD-GUI or JADX. Inspect the named APIManagerPatch.buildNetworkRequest method and determine whether the patch bytecode is valid despite the decompiler failure; done means the behavior is explained and a reproducible fix or limitation is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- build-system, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100