2014-12-12 2 views
2

내 응용 프로그램에서 사용하지 않는 메서드 필드 및 클래스 많은 라이브러리 프로젝트 종속성이 있습니다. 이것이 제 3 자 라이브러리이므로 이후의 업데이트로 인해 사용하지 않는 클래스와 메서드를 모두 제거하지 않으려합니다. 나는 이것을 위해 프로 가드를 사용하려고 노력하고 있지만Proguard 축소 및 난독 화없이 최적화

-dontobfuscate 

은 축소 및 난독 화 최적화에서 전체 프로젝트를 제외합니다. 난독 화 단계를 건너 뛸 수 있습니까?

답변

2

일반적으로 앱과 라이브러리의 조합에 ProGuard를 적용해야합니다. 이는 축소, 최적화 및 난독 화 측면에서 최상의 결과를 제공합니다. 라이브러리는 난독 화되지만 새로운 버전을 얻는다면 어쨌든 전체 애플리케이션을 다시 빌드해야합니다.

단일 라이브러리를 축소, 최적화 및 난독 화하려면 ProGuard 설명서> 예제>A typical library을 살펴보십시오.

+9

문제는 내가 정말로 난처하게하고 싶지 않다는 것입니다. 필요한 것은이 라이브러리 안의 사용되지 않는 메소드와 필드를 제거하는 것입니다.이 거대한 라이브러리와 multidex 때문에 내 앱 내부에 65k 메소드 제한이 있습니다. 옵션이 아니므로 프로 가드를 사용하여 쓰레기를 제거하려고합니다. – oneday

+2

'-dontobfuscate'는 난독 화 단계를 비활성화하지만 축소 단계 또는 최적화 단계를 비활성화하므로 옵션이 잘 작동합니다. –

+0

그래서 내 솔루션은 내 라이브러리의 공용 API에서 사용하는 모든 클래스의'-keep'로'-dontobfuscate'라고 생각합니다 – oneday

관련 문제