Saya punya beberapa pertanyaan tentang file dex
- Apa itu
dex
file di Android? - Bagaimana dex bekerja untuk Android?
- Bagaimana mereka digunakan dalam men-debug aplikasi Android?
- Apakah mereka mirip dengan file kelas java?
Saya memerlukan informasi spesifik tolong bantu tentang ini dan semua contoh nyata dipersilahkan!
Jawaban:
Tentang File .dex:
Salah satu fitur yang paling luar biasa dari
Dalvik Virtual Machine
(pekerja keras di bawah sistem Android) adalah bahwa ia tidak menggunakan bytecode Java. Sebaliknya, format homegrown yang disebut DEX diperkenalkan dan bahkan instruksi bytecode tidak sama dengan instruksi bytecode Java.Program Android dikompilasi menjadi
.dex
file (Dalvik Executable), yang pada gilirannya akan di-zip menjadi satu.apk
file di perangkat..dex
file dapat dibuat dengan secara otomatis menerjemahkan aplikasi yang dikompilasi yang ditulis dalam bahasa pemrograman Java.Format file Dex:
Android memiliki dokumentasi di
Dalvik Executable Format
( file .dex ). Anda dapat mengetahui lebih lanjut di dokumen resmi: Dex File Format.dex
file mirip dengan file kelas java, tetapi mereka dijalankan di bawah Dalkvik Virtual Machine (DVM) pada versi Android yang lebih lama, dan dikompilasi pada waktu instal pada perangkat ke kode asli dengan ART pada versi Android yang lebih baru.Anda dapat
decompile
.dex menggunakandexdump
alat yang disediakan di android-SDK.Ada juga beberapa Teknik Reverse Engineering untuk membuat
jar file
ataujava class file
dari a.dex
file.sumber
dexdump
itu bukan dekompiler tetapi disassemblerFile kode aplikasi Android yang dikompilasi.
Program Android dikompilasi menjadi file .dex (Dalvik Executable), yang pada gilirannya akan dizip menjadi file .apk tunggal pada perangkat. File .dex dapat dibuat secara otomatis oleh Android, dengan menerjemahkan aplikasi yang dikompilasi yang ditulis dalam bahasa pemrograman Java.
sumber
dex
file adalah file yang dieksekusi di Dalvik VM.Dalvik VM mencakup beberapa fitur untuk pengoptimalan kinerja, verifikasi, dan pemantauan, salah satunya adalah Dalvik Executable (DEX) .
Kode sumber Java dikompilasi oleh kompiler Java ke dalam
.class
file. Kemudian alatdx
(dexer), bagian dari Android SDK memproses.class
file menjadi format file yang disebutDEX
yang berisi kode byte Dalvik. Thedx
alat menghilangkan semua informasi yang berlebihan yang hadir di kelas. DiDEX
semua kelas aplikasi dikemas ke dalam satu file. Tabel berikut menyediakan perbandingan antara ukuran kode untuk file jar JVM dan file yang diproses olehdex
alat.Tabel membandingkan ukuran kode untuk pustaka sistem, aplikasi browser web, dan aplikasi tujuan umum (aplikasi jam alarm). Dalam semua kasus, alat dex mengurangi ukuran kode lebih dari 50%.
Dalam lingkungan Java standar, setiap kelas dalam kode Java menghasilkan satu
.class
file. Itu berarti, jika file kode sumber Java memiliki satu kelas publik dan dua kelas anonim, katakanlah untuk penanganan acara, maka kompiler java akan membuat total tiga.class
file.Langkah kompilasi sama pada platform Android, sehingga menghasilkan banyak
.class
file. Tetapi setelah.class
file dihasilkan, alat "dx" digunakan untuk mengubah semua.class
file menjadi file tunggal.dex
, atau Dalvik Dapat Dieksekusi. Ini adalah.dex
file yang dieksekusi di Dalvik VM. The.dex
file telah dioptimalkan untuk penggunaan memori dan desain terutama didorong oleh berbagi data.sumber