차례:
클라크의 글을 참고하세요
odex와 deodex는 실제로 무엇을 의미합니까? 거의 모든 사용자 정의 ROM 스레드에서 언급 된 용어를 볼 수 있으며 이해할 수있는 답변을 찾을 수 없습니다. Android Central이 도움을 줄 수 있기를 바랍니다.
멋진 질문입니다, 클락 그리고 우리는 대부분의 사람들이 이해할 수있는 용어로 대답 할 수 있다고 생각합니다. 앞서 언급했듯이, 많은 포럼에서 사용자 정의 ROM 또는 전화 및 태블릿의 여러 해킹에 대한 odex 및 deodexed라는 용어가 표시됩니다. 개발자가 OEM 및 Google 모두에서 제공하는 것과 같은 "스톡"ROM에서 중복 제거 된 ROM을 만들려면 많은 작업이 필요합니다.
시작하려면 odex 파일이 무엇인지 알아야합니다. Dalvik Virtual Machine이 적은 리소스를 사용하여 더 빠르게로드 할 수 있도록 사전 빌드 된 응용 프로그램 (.apk 파일)의 일부입니다. Android 휴대 전화 나 태블릿의 / system / app / 폴더를 보면 거의 모든 응용 프로그램에.apk 파일과.odex 파일이 모두있는 것을 볼 수 있습니다. 이러한 파일은 Dalvik VM을 통해 함께 작동하여 장치에서 앱이 정상적으로 실행되도록합니다. 휴식이 끝난 후 모두 분해 해 봅시다.
달빅 VM
Dalvik VM은 Android 시스템의 큰 부분입니다. Java로 작성된 써드 파티 애플리케이션이 휴대 전화 또는 태블릿에서 실행될 수 있도록하는 구성 요소입니다. 시스템 자체가 DVM을 시작하고를 눌러 앱을 시작하면 작동합니다..apk 파일 내부의 데이터를 가져 와서 JIT (Just-in-Time) 컴파일러를 사용하여 정보를 프로그램에 빌드 한 다음 실행합니다. 코드의 일부가 이미 최적화되어 DVM이 실행할 수있는 파일에 내장되어 있으면 프로세스가 더 빨라지고 리소스 사용량이 줄어 듭니다. 그것이 odex 파일입니다.
Odex 파일
시스템 폴더에 표시되는 odex 파일은 응용 프로그램 자체를 작성하고 작성한 사람들이 작성합니다. Android 앱은 Java로 작성된 다음 바이트 코드로 변환됩니다. 그런 다음 표준 Java Virtual Machine 호환.class 파일에서 Dalvik VM이 읽을 수있는 특수 유형의 파일로 변환됩니다. 이것을.dex 파일이라고합니다. 이.dex 파일이 나머지 코드 외부 (.apk 파일에 있음)에 배치되면 독립형.odex 파일이 남습니다.
독립형.odex 파일을 사용해야하는 많은 이유가 있습니다. 시스템이 부팅 될 때 Dalvik 캐시를 구축하여 부팅 시간을 단축시킵니다 (특히 첫 번째 부팅). 또한 가능할 때마다 Android 프레임 워크를 가리켜 공간을 절약하고 애플리케이션 개발자가 자신의 프로그램을 최적화 할 수 있도록합니다. 그러나 seperate.odex 파일을 갖는 것은 해커에게 친숙하지 않습니다.
디오 덱스
파일을 디오 덱싱한다는 것은 독립형.odex 파일과.apk 파일을 가져 와서 사전 빌드 된 모든 응용 프로그램 정보가 자체 파일이 아닌.apk 파일에 포함되도록 다시 작성하는 것을 의미합니다. Dalvik VM의 사전 구축 데이터는 위 그림과 같이.apk 파일 내부의 classes.dex 파일에 있습니다. 그러면.apk 파일이 약간 커지고 시스템이 시작될 때 미리로드 할 수 없습니다. 그러나 해커와 그 사람들에 의해 리버스 엔지니어링 될 수 있습니다.
한 곳에서 프로그램의 모든 코드와 데이터를 사용하면 도구를 사용하여 앱을 "언 빌드"하고 원하는대로 편집 할 수 있습니다. 이것은 "스톡"ROM에 대해 배터리 비율 모드와 같은 테마 및 조정 방법입니다. 개발자가 변경 한 후.apk 파일을 다시 빌드하면 변경 사항을 실행할 수 있습니다. 코드 나 데이터가 다른 앱과 공유되지 않기 때문에 시스템의 다른 부분에는 영향을 미치지 않습니다.
어느 것을 선택해야합니까?
그것은 정말로 당신에게 달려 있으며, 당신의 필요는 무엇이든, 가능할 때마다 deodex 버전을 깜박이는 것이 좋습니다. 예, odex ROM은 더 빨리 부팅되지만 모든 시스템 앱이 Dalvik VM에 의해 미리 캐시 될 때 처음 부팅 할 때만 알 수 있습니다. odex 파일을 사용하여 충분한 공간을 절약 할 수 있지만이 공간은 모두 시스템 파티션에 있으며 전화기 나 태블릿이 별도의 응용 프로그램 파티션을 사용하는 경우 더 많은 앱을위한 공간을 제공하지 않습니다. 오늘날의 최신 전화와 멀티 코어 프로세서 및 거대한 RAM 뱅크를 사용하면 애플리케이션 로딩 시간이 더 빠르지 않습니다.
상태 표시 줄 또는 TouchWiz 또는 Sense 테마 변경과 같은 작업을 수행하려면 deodex ROM이 필요합니다. 또한 설정 메뉴 변경이나 프레임 워크 편집과 같은 정말 멋진 시스템 조정 작업을 수행하려면 deodex ROM이 필요합니다. 요컨대, 부트 로더를 이미 잠금 해제하고 루팅하고 사용자 정의 ROM을 준비한 경우, deodexed 버전을 선택하는 것이 가장 좋습니다. 이 미친 개발자들이 생각 해낼 수있는 것들에 놀랄 것입니다.