2016-06-07 2 views
6

나는 코드 자체에서 사용되지 않고 Manifest에서 참조가 아닌 Activity을 제거해야하는 특별한 경우가 있습니다. 즉, 난독 화되지 않은 데드 코드이므로, 제거하고 싶습니다.Proguard를 통해 apk에서 활동 제거

일반 제한은 Activity까지 확장되는 클래스를 유지하지만 일반적으로 좋지만이 코드는 유지됩니다.

이 특수 문자 Activity이 보관되지 않도록하려면 어떻게해야합니까?

+0

AndroidManifest 파일에서 활동을 삭제 했습니까? – Vyacheslav

+0

@Vyacheslav 예 질문에서 언급 한 바와 같이 매니페스트에서 제거됩니다. – rekire

+0

jar-reader에서 클래스를 여는 경우 Activity에 어떤 메소드가 표시됩니까? – Vyacheslav

답변

0

aapt 프로세스는 ProGuard 규칙을 자동으로 추가하고 리소스 파일에 참조 된 클래스를 포함합니다.

규칙은 다음 디렉토리에 생성됩니다이 파일의

build/intermediates/proguard-rules/<variant>/aapt_rules.txt 

규칙은 또한 원산지 참조 :이 예에서는

# view AndroidManifest.xml #generated:14 
-keep class com.example.HelloWorldActivity { <init>(...); } 

를, 클래스 com.example.HelloWorldActivityAndroidManifest.xml에서 참조됩니다.