2013-05-29 3 views
3

Proguard로 AndroidManifest.xml 파일을 난독 화 할 수 있습니까?Proguard로 AndroidManifest.xml을 난처하게하고 싶습니다.

내 proguard.config 파일에 소스 코드를 작성하는 것이 좋습니다. (-adaptresourcefilenames AndroidManifest.xml)

하지만 작동하지 않았습니다.

+0

사용자 정의 ant 빌드 스크립트를 사용하여 클래스 이름을 임의의 문자열로 변경할 수 있습니다. 나는 그곳에서 다른 것을 난처하게 만드는 것이 합리적이라고 생각하지 않습니다. – Thrakbad

답변

0

다음을 수행 할 수 없습니다. 시스템에서 구성 요소 (활동, 서비스 등)에 대해 알아야합니다. 매니페스트의 구성 요소 참조 이름도 난독화할 수 없습니다. 기본 ProGuard 구성에서는 명시 적으로 제외됩니다.

16

표준 Android 릴리스 빌드는 ProGuard를 리소스 파일이 아닌 컴파일 된 바이트 코드에만 적용합니다. 따라서 AndroidManifest.xml과 같은 파일을 적용 할 수 없습니다.

또한 이러한 빌드 프로세스는보다 효율적인 패키징과 사용을 위해 AndroidManifest.xml 및 기타 XML 파일을 이진 버전으로 변환하기 위해 aapt을 먼저 실행합니다. Aapt는 또한 ProGuard에 대한 몇 가지 구성을 작성합니다. ProGuard는 리소스 파일을 텍스트 형식으로 만 구문 분석하고 적용 할 수 있으므로 바이너리 버전에서는 작동하지 않습니다.

DexGuard은 안드로이드를 대상으로하는 ProGuard의 상용 확장 프로그램으로 빌드 프로세스를 간소화합니다. 또한 가능한 한 이진 XML 파일을 난독 화하고 최적화합니다. 니콜라이 (Nikolay)가 언급했듯이 일부 클래스 이름은 여전히 ​​난독 화 될 수 없습니다. 특히 다른 앱에서 참조 할 수있는 앱입니다.

(저는 ProGuard 및 DexGuard의 개발자입니다)

관련 문제