After some android apps installed, I found that it will change to odex file (not apk) in smartphone.
How does it happens? Who can tea
ART
In ART, .odex files contain:
contains AOT compiled code for methods in the APK.
according to the docs: http://web.archive.org/web/20170909233829/https://source.android.com/devices/tech/dalvik/configure
Furthermore, they appear to be regular shared libraries, since if you get any app, and check:
file /data/app/com.android.appname-*/oat/arm64/base.odex
it says:
base.odex: ELF shared object, 64-bit LSB arm64, stripped
and aarch64-linux-gnu-objdump -d base.odex seems to work and give some meaningful disassembly (but also some rubbish sections).