2014-02-28 14 views
4

나는 JAD 디 컴파일러와 'javap -p'와 같은 여러 가지 방법을 발견했다. .class 파일을 소스 코드로 디 컴파일해야하는 java 프로젝트에서 작업하고있다. 'method ...,하지만이 방법들은 프로그래밍 방식으로 할 수 없다고 생각합니다. (만약 가능하다면 가르쳐주세요.) 프로그래밍 방식으로 이것을 할 수있는 방법이 있습니까? 저에게 라이브러리를 보여 주시면 감사하겠습니다..class 파일을 java 라이브러리를 사용하는 .java 소스 코드로 디 컴파일

+1

약 https://code.google.com/p/back2code/source/checkout –

+1

Procyon을 사용하지 않는 이유는 무엇입니까? – Antimony

+0

@SachinVerma 당신이 준 링크는 약간의 도움이 충분하지만, 대답에 나를 도달하지 않습니다 – droidev

답변

6

Procyon은 Java로 작성된 Java 디 컴파일러이며 Java 코드에서 직접 호출 할 수 있습니다. 예를 들어 :

final PrintWriter writer = new PrintWriter(System.out); 

try { 
    com.strobel.decompiler.Decompiler.decompile(
     "W:\\Hello.class", 
     new com.strobel.decompiler.PlainTextOutput(writer) 
    ); 
} 
finally { 
    writer.flush(); 
} 

또한 특정 기능을 전환하는 데 사용 및 클래스 종속성을 해결하는 방법에 대한 디 컴파일러 힌트를 줄 수있는 DecompilerSettings 인스턴스를 받아들이는 decompile() 과부하가있다. 질문이 있으시면 BitBucket에 저에게 연락하십시오.

+0

실제로 콘솔에서 인쇄하려면 .java 파일이 필요합니다. 어떤 방법을 사용해야합니까, Proycon에 대한 모든 문서가 있습니까? – droidev

+1

위의 예는 출력을 콘솔에 인쇄합니다. 다른 소스로 인쇄하고 싶다면'PlainTextOutput'을 만들 때 다른 종류의'Writer'를 전달하십시오. 나는 현재 어떤 문서도 가지고 있지 않지만 당신이 갖고있는 질문에 대해서는 대답 할 수 있습니다. –

+1

아니요, 콘솔에 인쇄되지 않고 빌드 성공이 가득 찼음을 보여줍니다 .. – droidev