Caused by: java.lang.RuntimeException: com.test.app.patch.aPatchControl: frozen class (cannot edit)
at javassist.ClassPool.checkNotFrozen(ClassPool.java:617)
at javassist.CtClassType.setName(CtClassType.java:338)
at javassist.ClassPool.getAndRename(ClassPool.java:408)
at com.meituan.robust.autopatch.PatchesControlFactory.createControlClass(PatchesControlFactory.java:29)
at com.meituan.robust.autopatch.PatchesControlFactory.createPatchesControl(PatchesControlFactory.java:182)
at com.meituan.robust.autopatch.PatchesControlFactory$createPatchesControl.call(Unknown Source)
at robust.gradle.plugin.AutoPatchTransform.createControlClass(AutoPatchTransform.groovy:271)
at robust.gradle.plugin.AutoPatchTransform$createControlClass$2.callCurrent(Unknown Source)
at robust.gradle.plugin.AutoPatchTransform.generatPatch(AutoPatchTransform.groovy:193)
at robust.gradle.plugin.AutoPatchTransform$generatPatch$0.callCurrent(Unknown Source)
at robust.gradle.plugin.AutoPatchTransform.autoPatch(AutoPatchTransform.groovy:138)
at robust.gradle.plugin.AutoPatchTransform$autoPatch.callCurrent(Unknown Source)
at robust.gradle.plugin.AutoPatchTransform.transform(AutoPatchTransform.groovy:97)
at com.android.build.api.transform.Transform.transform(Transform.java:288)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOp
erationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOp
erationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.ja
va:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.j
ava:92)
... 29 more
问题描述:当要修复有2个类同名或者混淆后同名,补丁制作失败 (如com.test.app.a.class 和 com.test.app.b.a.class),异常如下
异常类型:java.lang.RuntimeException
Robust版本:如:0.4.87
堆栈/日志:
Caused by: java.lang.RuntimeException: com.test.app.patch.aPatchControl: frozen class (cannot edit) at javassist.ClassPool.checkNotFrozen(ClassPool.java:617) at javassist.CtClassType.setName(CtClassType.java:338) at javassist.ClassPool.getAndRename(ClassPool.java:408) at com.meituan.robust.autopatch.PatchesControlFactory.createControlClass(PatchesControlFactory.java:29) at com.meituan.robust.autopatch.PatchesControlFactory.createPatchesControl(PatchesControlFactory.java:182) at com.meituan.robust.autopatch.PatchesControlFactory$createPatchesControl.call(Unknown Source) at robust.gradle.plugin.AutoPatchTransform.createControlClass(AutoPatchTransform.groovy:271) at robust.gradle.plugin.AutoPatchTransform$createControlClass$2.callCurrent(Unknown Source) at robust.gradle.plugin.AutoPatchTransform.generatPatch(AutoPatchTransform.groovy:193) at robust.gradle.plugin.AutoPatchTransform$generatPatch$0.callCurrent(Unknown Source) at robust.gradle.plugin.AutoPatchTransform.autoPatch(AutoPatchTransform.groovy:138) at robust.gradle.plugin.AutoPatchTransform$autoPatch.callCurrent(Unknown Source) at robust.gradle.plugin.AutoPatchTransform.transform(AutoPatchTransform.groovy:97) at com.android.build.api.transform.Transform.transform(Transform.java:288) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102) at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOp erationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOp erationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.ja va:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.j ava:92) ... 29 more