2014-07-11 1 views
-2

jar 파일에서 메소드의 수를 얻으려고했습니다. 이클립스와 사이비 스크립트의 "미터법"플러그인을 사용했습니다.
그러나 둘 다 다른 대답을했습니다.
그런 다음 jar 파일을 해당하는 dex로 변환하고 거기에서 메소드의 수를 추출했습니다.
대답은 meterics와 cyvis가주는 것보다 완전히 달랐습니다. 아무도 왜 그 차이가있을 수 설명 할 수 있습니까 ??"Metrics"플러그인과 jar의 .dex 파일에 의해 jar 파일의 메소드를 계산할 때 메소드의 수의 차이가 있습니까?

답변

0

나는 meterics plugin이나 cyvis 스크립트에 익숙하지 않습니다. dex 메소드 수에 관한 한, 이것은 dex 파일에서 참조되는 고유 메소드의 수입니다.

작은 배경 :

방법은 일반적으로 16 비트의 부호없는 정수이고, 따라서 64K 한계를 이용하여 덱스 파일에서 참조

. 이 값은 일의의 메서드 ID의 소트리스트에 대한 인덱스입니다. 메소드 ID는 클래스, 메소드 이름, 인수 유형 및 리턴 유형으로 구성됩니다. 동일한 메소드 ID에 대한 다중 참조는 동일한 색인을 사용합니다.

메소드가 참조되는 두 가지 주요 위치는 메소드가 클래스 내에서 선언되는 경우와 메소드가 메소드 (예 : 메소드 호출)의 바이트 코드 내에서 참조되는 경우입니다.

관련 문제