2010-11-21 3 views
0

Android 프로그램 중 일부에서 중요한 다시 코딩을 수행했으며 특정 XML 문자열이 더 이상 사용되지 않는지 확신 할 수 없습니다. 또한 나는 약간의 번역이있어서 그 일을 더욱 어렵게 만든다. 이것을 테스트 할 수있는 도구가 있습니까? 이것은 drawable에도 유용 할 것이다.strings.xml에있는 리소스와 같은 리소스가 더 이상 사용되지 않는지 확인합니다.

이클립스 플러그인을 사용하고 있습니다.

답변

1

이 질문은 전에 irc 채널에서 논의되었습니다. 테스트 도구는 없지만 유용하다고 동의합니다. 리소스는 XML에서 참조 할 수 있지만 코드에서 참조 할 수도 있습니다. 또한 리소스는 식별자로 조회 할 수 있으며 이러한 조회는 런타임에 의해 결정될 수 있습니다.

실제로 자원이 사용되는지 여부는 100 %를 결정할 수 없지만 정적 방법 (XML 또는 코드)으로 참조되는 자원을 결정할 수 있습니다. 자신이 가장 잘 알고있는 코드/응용 프로그램에 따라 이러한 접근 방식으로는 많은 경우에 충분할 수 있습니다.

xml 및 java 소스 파일을 구문 분석하고 import 문을 고려하는 도구를 작성하는 것이 접근법입니다. 이 정보를 통해 제거 할 수있는 자원을 판별 할 수 있어야합니다.

0

가장 쉬운 방법은 모두 제거하고 컴파일을 시도한 다음 컴파일러에서 부족한 부분을 다시 추가하는 것입니다. 조금 귀찮은 일이지만 확실히 다루기 쉽습니다.

Mathias가 이미 지적했듯이, 런타임시 이름으로 문자열을 리소스에 액세스하는 것이 기술적으로 가능하다는 사실에 유의하십시오. 실제로 여기에 나와있는 방법으로 리소스를 제거 할 수 있습니다. 그러나이 패턴은 어떤 응용 프로그램에서도 실제로 거의 나타나지 않아야하며, 작성한 사람이라면 이미/어디서 그런 치료를하는지 알 수 있습니다.

0

사용 GREP은의 방법으로 파일에 자원 목록을 추출하는 일종의

종류 및 소스 파일에 언급 된 목록을 만들 수 UNIQ 통해

사용 재귀 그렙는 (사용하지 않는 파일이없는 프로젝트의 복사본을 만들 또는 사용 된 목록에 grep을 디스패치하는 것은 물론 논점이 될 수 있습니다.)

두 목록에 diff 사용

관련 문제