Doxygen 은 소스코드 문서 생성툴이다. java, c++, python 등 여러 언어를 지원한다. 안드로이드 PDK 사이트를 가보면 일부 네이티브 C/C++ 소스에 대한 javadoc 스타일의 API 문서를 볼 수 있다. 예를 들어 CameraHardwareInterface.h. 이 문서가 바로 doxygen이라는 툴로 생성된 것이다. 

나 처럼 주로 자바로만 먹고살아서 C/C++ 소스 분석에 애를 먹는 사람들한테는, 이 API 문서가 조금이나마 도움이 될 수가 있다. 이렇게 예쁘게 다이어그램도 그려주고 말이다.

android-doxygen


그러나 안드로이드는 아쉽게도 전체 C/C++ 소스에 대한 API 문서는 제공하지 않는다. 이유는 잘 모르겠다.
목마른 놈이 우물판다고 그래서 내가 직접 framework에 속한 native 소스에 대해 doxygen을 돌려봤다. 다행히 큰 문제 없이 문서가 잘 만들어진다. 생각보다 어렵지 않다.

  1. 먼저 안드로이드 git에서 소스를 다운받아 놓는다. mydroid에 다운받았다고 하자.
  2. doxygen 사이트에서 doxygen을 다운받아 설치한다. 윈도 버전 있다.
  3. Doxywizard를 실행한다.
  4. Wizard 탭, Expert 탭에서 여러가지 설정을 한다. 처음에는 Wizard탭, 숙달되면 Expert 탭 이용.
    • 소스 폴더 선택. 예를들어 mydroid/frameworks 선택. mydroid 전체를 선택하면 먹통될수도...
    • scan recursively 옵션 체크
    • 소스 종류는 .h,.c,.cpp 선택
    • html은 하위 폴더로 나누어서 생성되도록
    • 클래스 다이어그램 생성되도록
    • public이 아닌 함수도 나오도록 설정하면 소스 분석에 도움됨
    • 그외 적당히 옵션 설정
  5. 설정 마치고 Run 탭에서 run 실행한다.
Posted by 에코지오
,