안드로이드 디오덱스(deodexing) 작업은 생각보다 번거롭고 시간이 많이 걸리는 과정입니다. 기기에서 /system 파일을 추출하고, PC 도구로 디오덱스한 뒤, 다시 휴대폰에 설치해야 하기 때문입니다. 게다가 구글이 새로운 안드로이드 버전을 출시할 때마다 디오덱스 방식이 달라지기 때문에, 관련 도구들도 지속적으로 업데이트되어야 합니다. 실제로 개발자의 업데이트가 끊기면서 수많은 디오덱싱 도구들이 사라진 사례도 많습니다.
이런 문제를 해결하기 위해 등장한 것이 바로 TOAD(The Open Source Android Deodexer)입니다. TOAD는 누구나 쉽게 사용할 수 있을 뿐만 아니라, 오픈소스라는 특성 덕분에 개발 커뮤니티가 최신 디오덱싱 방식에 맞춰 지속적으로 업데이트를 이어갈 수 있습니다. TOAD는 배치(batch) 파일을 활용해 odex 파일을 처리하므로, 커뮤니티에서 새로운 배치 파일을 손쉽게 추가하거나 수정할 수 있다는 점이 큰 장점입니다.
이번 가이드에서는 TOAD를 사용해 안드로이드 파일을 디오덱스하는 방법을 단계별로 살펴보겠습니다. 개발 경험이 있는 분이라면, TOAD 커뮤니티에 참여해 최신 안드로이드 버전을 지원하는 데 기여해 보는 것도 좋은 방법입니다.
준비물
- TOAD 프로그램
TOAD는 자동 압축 해제(self-extracting) EXE 파일 형태로 제공됩니다. 잠재적인 오류를 최소화하기 위해 C:\ 드라이브 루트에 압축을 푸는 것을 권장합니다.
EXE 파일을 실행하면 다음과 같은 폴더 구조가 생성됩니다.
- Method_files: TOAD가 디오덱싱에 사용하는 모든 배치 파일이 들어 있습니다.
- Tool_Files: TOAD의 동작에 필요한 각종 도구 파일이 포함되어 있습니다.
- Your_Files: 디오덱스할 사용자 파일을 넣는 폴더입니다.
TOAD로 디오덱스하는 방법
- 먼저 안드로이드 기기에서 build.prop 파일과 framework 폴더 전체를 복사해 TOAD의 Your_Files 폴더에 넣습니다.

- 디오덱스하고 싶은 다른 파일들도 함께 추가할 수 있습니다. 예를 들어 “app”, “priv-app”, “vendor app”, “vendor priv-app”, “vendor framework” 등의 폴더를 넣으면 됩니다.
- 이제 TOAD를 실행합니다. framework 폴더 전체를 디오덱스할 것인지 묻는 메시지가 나타나는데, 선택은 사용자의 몫입니다. 다만 킷캣(KitKat)보다 높은 안드로이드 버전에서는 반드시 odex 상태의 framework 폴더가 필요하다는 점을 유의하세요.
- TOAD는 build.prop 파일을 읽어 안드로이드 버전을 판단하고, 해당 롬(ROM)에서 사용 중인 API를 감지합니다. 안드로이드 버전마다 고유한 API(빌드 번호)가 존재하며, 구글 공식 문서에서 전체 API 목록을 확인할 수 있습니다.
- TOAD가 처리 가능한 각 안드로이드 API에는 대응하는 Method 파일이 마련되어 있습니다. Method_Files 폴더에 파일이 가득한 이유가 바로 이것입니다. 만약 TOAD가 사용자의 안드로이드 API와 일치하는 Method 파일을 찾으면, Your_Files 폴더의 모든 파일을 디오덱스할 것인지 물어봅니다.

- ‘예(Yes)’를 선택하면 TOAD가 작업을 시작합니다. 이후에는 결과를 기다리기만 하면 됩니다. TOAD는 해당 Method 파일에 정의된 절차에 따라 작업을 진행하며, 특정 파일을 디오덱스하지 못할 경우 오류 내용을 화면에 표시한 뒤 나머지 작업을 계속 진행합니다.
- 디오덱싱이 완료되면 TOAD는 처리된 모든 파일을 하나의 ZIP 파일로 묶어 줍니다.
- 마지막으로 이 ZIP 파일을 커스텀 리커버리에서 플래시(flash)하면, 디오덱스된 모든 파일이 휴대폰에 적용됩니다.