2015-02-03 6 views
0

-keep 클래스와 -keepclassmembers를 사용하여 im하지만 클래스의 메소드 이름과 필드 만 보존하는 것처럼 보입니다. 특정 메소드 내에서 아무 것도 건드리지 말라고 progaurd에게 말하고 싶습니다. 심지어 "for"루프 또는 "if"문과 변수 이름까지! , 나는 디버그 모드에서 프로그램을 디 컴파일 할 때처럼, 디 컴파일 후 원본 버전과 똑같이 보이는 메소드를보고 싶습니다! , 단 하나의 방법 만이 다른 모든 방법이 아닙니다.

proguard를 사용하여이 작업을 수행 할 수있는 방법은 무엇입니까?
고마워요 :)proguard가 메소드의 난독 화를 완전히 막지 못하도록하는 방법

답변

0

언제든지 새 더미 클래스를 만들고 그 안에 메서드를 가지고 전체 클래스를 제외 할 수 있습니다. 어딘가에서 클래스를 참조하여 클래스를 정리하지 않도록하십시오 (예 : SomeClass.somevar = 3;).

내가 아는 한 하나의 방법을 제외 할 수는 없지만 ProGuard의 소스를 수정하면 가능합니다. 이것은 완전히 다른 주제이고 가치가있는 것보다 더 많은 노력 일 것입니다.

+0

답해 주셔서 감사합니다.하지만 antire 클래스를 제외하는 방법은 무엇입니까? "-keep class"와 "-keepclassmembers"를 사용하면 클래스와 멤버 이름 만 유지되고 메서드 내에서 난독 화를 수행합니다! – Behzad

+0

:-) http://stackoverflow.com/questions/15476315/how-keep-my-class-from-obfuscate-by-proguard –