尝试混淆时,NoSuchMapping异常

时间:2013-06-11 14:16:04

标签: java ant obfuscation yguard

我试图用yGuard模糊一些jar文件。

shrink任务似乎工作正常,但第一个rename 抛出异常。

  

将Jar C:\ work \ jars \ yguard_temp_8318169257227053930.jar混淆到base_obf.jar      [rename]重映射期间出现错误('找不到:类java.util.Deque'的映射)!见日志!)

     

建立失败   C:\ rms \ Setup_FlashAbsicherungsTool_3.4.X_ALPHA2 \ build.xml:32:yGuard遇到IO问题!

日志也没有帮助:

<!-- An exception has occured.
com.yworks.yguard.obf.NoSuchMappingException: No mapping found for: Class java.util.Deque
com.yworks.yguard.obf.NoSuchMappingException: No mapping found for: Class java.util.Deque
    at com.yworks.yguard.obf.ClassTree.mapMethod(Unknown Source)
    at com.yworks.yguard.obf.classfile.ClassFile.remap(Unknown Source)
    at com.yworks.yguard.obf.GuardDB.remapTo(Unknown Source)
    at com.yworks.yguard.ObfuscatorTask.execute(Unknown Source)
    at com.yworks.yguard.YGuardTask.execute(Unknown Source)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.Main.runBuild(Main.java:851)
    at org.apache.tools.ant.Main.startAnt(Main.java:235)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
-->

任何帮助高度赞赏。无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

当你使用externalclasses嵌套元素包含一些类时,似乎问题就出现了,而它恰好也在jar内(并且很可能它也必须可以从shrink元素中指定的点访问)。