2014-01-08 1 views
0

나는 YFiles 라이브러리를 사용하는 이클립스 기반 응용 프로그램을 가지고 있습니다. YFiles를 난처하게하고 싶습니다. & 코드에서 YFiles 라이브러리의 난독 화 클래스를 조정하십시오.YGuard 제대로 두 라이브러리를 난독 화하지 않습니다

나는 ant 스크립트를 트리거하는 Maven 빌드를 통해이 난독 화를 실행하고 있습니다. 내 개미 스크립트에는 난독 화 논리가 있습니다. YFiles 난독이 아니라 내 코드에 통합 될 수 있도록 내가 & 내 코드를 함께 Yfiles 난독하고

<project name="obfuscate"> 
<target name="obf-modeler"> 
    <taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="./lib/yguard.jar" /> 
    <yguard> 
     <inoutpair in="yfiles.jar" out="obfyfiles.jar" /> 
     <inoutpair in="<my-app-jar>" out="<my-app-jar>" /> 
     <rename replaceClassNameStrings="true"> 
      <keep> 
       <class classes="private" methods="private" fields="private"> 
        <patternset> 
         <include name="com.<my-company-name>." /> 
        </patternset> 
       </class> 
       <package> 
        <patternset> 
         <include name="com.<my-company-name>." /> 
        </patternset> 
       </package> 
      </keep> 
      <adjust replaceContent="true"> 
       <include name="plugin.xml" /> 
      </adjust> 
     </rename> 
    </yguard> 
</target> 

그때 엔이 보인다. 또한, 불행하게도

을 "단지 YFiles 난독가 변경 조정, 내 코드를 당황하게하지 않는다"고 YGaurd 말할 클래스 & 패키지 요소에 patternset이 나는 받는다는 빌드를 실행하는 경우, 일부 반환 형식과 일부 공공 YFiles 방법 난독 화되지 않습니다. 예를 들어 - y.base.NodeMap 클래스에는 반환 형식이없는 모호한 메서드가 있고, 반환하는 다른 메서드에는 여전히 이전 메서드 이름이 있습니다.

내 후두 세트에서 어떤 문제가 발생하는지 실마리가 있습니다. 또한이 패턴 세트를 제거하면 YFiles 난독 화에 문제가 없습니다. 그러나, 내 코드는 내가 원하지 않는 경우에 너무 혼란스러워지고있다.

감사 & 관련 Abhinaw

답변

0

당신이 yFiles 라이브러리의 인터페이스 나 클래스를 구현/서브 클래스 화하는 것으로 보인다. 클래스를 서브 클래스 화하고 yGuard에게 서브 클래스를 난독 화하지 말 것을 명령하면, Entiry 클래스 계층 구조도 유지됩니다 (클래스 로더에 필요함). 유지 규칙에서 yFiles API 클래스를 확장/구현하는 클래스는 제외하십시오. 여기서 함정은 익명의 수업입니다. 이를 방지하려면 익명 클래스를 외부 또는 내부 클래스로 변환하고 유지 규칙에서 명시 적으로이 클래스를 제외하십시오.