Что.dex файлы в Android?
У меня есть несколько вопросов по поводу dex files
- что это
dexфайл в Android? - как работает dex для Android?
- как они используются при отладке приложения для Android?
- похожи ли они на файлы классов java?
Мне нужна конкретная информация, пожалуйста, помогите в этом, и любые реальные примеры приветствуются!
4 ответов:
об .dex File:
одна из самых замечательных особенностей
Dalvik Virtual Machine(рабочая лошадка в системе Android) заключается в том, что она не использует байт-код Java. Вместо этого был введен доморощенный формат DeX, и даже инструкции байт-кода не совпадают с инструкциями байт-кода Java.Compiled Android application code file.программы для Android скомпилированы в
.dex(Dalvik Executable) файлы, которые в свою очередь сжаты в один.apkfile on устройство..dexфайлы могут быть созданы с помощью автоматического перевода, скомпилированных приложений, написанных на языке программирования Java.формат файла Dex:
1. File Header 2. String Table 3. Class List 4. Field Table 5. Method Table 6. Class Definition Table 7. Field List 8. Method List 9. Code Header 10. Local Variable ListAndroid имеет документацию на
Dalvik Executable Format(.Декс файлы). Вы можете узнать больше в официальных документах:Формат Файла Dex
.dexфайлы похожи на файлы классов java, но они были запущены под Dalkvik Virtual (DVM) на более старые версии Android и скомпилированы во время установки на устройстве в машинный код с искусством на более новых версиях Android.вы можете
decompile.Декс с помощьюdexdumpинструмент, который предоставляется в android-sdk.есть также некоторые Методы Обратной Инженерии сделать
jar fileилиjava class fileС .
.dex fileскомпилированный файл кода приложения для Android.
программы для Android компилируются .DeX (Dalvik Executable) файлы, которые в свою очередь заархивированы в один .apk файл на устройстве. .dex файлы могут быть созданы автоматически Android, путем перевода скомпилированных приложений, написанных на языке программирования Java.
dexfile-это файл, который выполняется на виртуальной машине Dalvik.Dalvik VM включает в себя несколько функций для оптимизации производительности, проверки и мониторинга, одним из которых является Dalvik Executable (DEX).
исходный код Java компилируется компилятором Java в
.classфайлы. Тогдаdx(dexer) инструмент, часть Android SDK обрабатывает.classфайлы в формат файла под названиемDEX, который содержит байт-код виртуальной машины Dalvik. Элементdxинструмент устраняет всю избыточную информацию, которая присутствует в классах. ВDEXвсе классы приложения упакованы в один файл. В следующей таблице приведено сравнение размеров кода для JVM jar-файлов и файлов, обрабатываемых .в таблице сравниваются размеры кода для системных библиотек, приложений веб-браузера и приложений общего назначения (приложение будильника). Во всех случаях инструмент dex уменьшил размер кода более чем на 50%.
в стандартных средах Java каждый класс в коде Java приводит к одному . Это означает, что если файл исходного кода Java имеет один открытый класс и два анонимных класса, скажем, для обработки событий, то компилятор java создаст всего три
.classфайлы.шаг компиляции такой же на платформе Android, что приводит к нескольким
.classфайлы. Но после.classсоздаются файлы, используется инструмент " dx чтобы преобразовать все.classфайлы в один.dex, или Dalvik исполняемый файл. Это и есть.dexфайл, который выполняется на виртуальной машине Dalvik. Элемент.dexфайл был оптимизирован для использования памяти и дизайн в первую очередь управляется путем обмена данными.
файл класса здесь содержит стандартный байт-код Oracle JVM.
• БАЙТ-КОД DALVIK
[ JAVA CLASS FILE ] > [ DEX CLASS FILE ]
с тех пор, java .файл класса содержит стандартный байт-код JVM. Но Android устройства не используют этот формат байт-кода. Вместо этого Android имеет свой собственный формат байт-кода, называемый Dalvik. Байт-коды виртуальной машины Dalvik, как Оракул в JVM байт-код, машинный код инструкции по теоретической процессор.
в процесс компиляции необходимо преобразовать .файлы классов, и любые .jar библиотеки в один класс.dex-файл, содержащий байт-коды виртуальной машины Dalvik. Команда dx сшивает все из них .класс и. JAR-файлы вместе в один класс.файл dex написан в формате байт-кода Dalvik.
Итак, это преобразование .класс и. jar файлы В.dex файлы называется DeX компиляции и файлы, полученные таким образом называются DeX файлы.

Comments