I know that .odex files are optimized .dex files.

I have seen a lot of .odex files below the path /system on my phone. I am just curious if there are also .odex files for my installed apps.

I searched the file system but I wasn't able to find .odex files for my installed apps. But I assume that they exist - the question is just where they are stored.

BTW: My phone is a rooted Samsung Galaxy Nexus with Android 4.1.2

  • I think only prepackaged system apps will have .odex files because any other app isn't optimized specifically for your device, although I could be wrong on that. Oct 29, 2012 at 20:17
  • .odex files make the app launch faster (on system boot). Therefore they are only applicable for System-installed apps, not regular apps from the Play Store. May 5, 2022 at 18:15

4 Answers 4


When your ROM is booted up for the first time, Android's Dalvik goes through every apk and extracts the dex file from it. It places the dex files in the cache folder - located at /data/dalvik-cache. This is the directory that gets cleared when you clear the dalvik cache in your recovery tool

  • So Android generates odex files in /data/dalvik-cache only the first time you boot Android? Or the odex files are generated every boot if the cache is empty?
    – kinunt
    Feb 9, 2015 at 18:16
  • Are you sure these are .odex files? May 5, 2022 at 18:27

Yes every user app has an odex file. Check /data/app and you will see every user app with a folder called oat in that folder, in which you will see an odex file


I believe every app has an ODEX db because this keeps the app files for running the app,the widget or apk cant work without it. Its normally located in the Secure file system under apps,each app with have its icon and the odex file with the same name .ODEX next to it.


To know where .odex files ​are stored you can use a terminal emulator and run the following command:

su && find / -name=*.odex*

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .