본문
170328(화) - DEX (Dalvik Executable format)
Mobile/Android API 2017. 3. 28. 09:56
DEX (Dalvik Executable format)
DEX
- Dalvik Executable format
- type
Name | Description |
---|---|
byte | 8-bit signed int |
ubyte | 8-bit unsigned int |
short | 16-bit signed int, little-endian |
ushort | 16-bit unsigned int, little-endian |
int | 32-bit signed int, little-endian |
uint | 32-bit unsigned int, little-endian |
long | 64-bit signed int, little-endian |
ulong | 64-bit unsigned int, little-endian |
sleb128 | signed LEB128, variable-length (see below) |
uleb128 | unsigned LEB128, variable-length (see below) |
uleb128p1 | unsigned LEB128 plus 1 , variable-length (see below) |
ㆍleb 128
- Little-Endian Base 128
- file layout
Name | Format | Description |
---|---|---|
header | header_item | the header |
string_ids | string_id_item[] | string identifiers list. These are identifiers for all the strings used by this file, either for internal naming (e.g., type descriptors) or as constant objects referred to by code. This list must be sorted by string contents, using UTF-16 code point values (not in a locale-sensitive manner), and it must not contain any duplicate entries. |
type_ids | type_id_item[] | type identifiers list. These are identifiers for all types (classes, arrays, or primitive types) referred to by this file, whether defined in the file or not. This list must be sorted by string_id index, and it must not contain any duplicate entries. |
proto_ids | proto_id_item[] | method prototype identifiers list. These are identifiers for all prototypes referred to by this file. This list must be sorted in return-type (by type_id index) major order, and then by argument list (lexicographic ordering, individual arguments ordered by type_id index). The list must not contain any duplicate entries. |
field_ids | field_id_item[] | field identifiers list. These are identifiers for all fields referred to by this file, whether defined in the file or not. This list must be sorted, where the defining type (by type_id index) is the major order, field name (by string_id index) is the intermediate order, and type (by type_id index) is the minor order. The list must not contain any duplicate entries. |
method_ids | method_id_item[] | method identifiers list. These are identifiers for all methods referred to by this file, whether defined in the file or not. This list must be sorted, where the defining type (by type_id index) is the major order, method name (by string_id index) is the intermediate order, and method prototype (by proto_id index) is the minor order. The list must not contain any duplicate entries. |
class_defs | class_def_item[] | class definitions list. The classes must be ordered such that a given class's superclass and implemented interfaces appear in the list earlier than the referring class. Furthermore, it is invalid for a definition for the same-named class to appear more than once in the list. |
call_site_ids | call_site_id_item[] | call site identifiers list. These are identifiers for all call sites referred to by this file, whether defined in the file or not. This list must be sorted in ascending order of call_site_off . This list must not contain any duplicate entries. |
method_handles | method_handle_item[] | method handles list. A list of all method handles referred to by this file, whether defined in the file or not. This list is not sorted and may contain duplicates which will logically correspond to different method handle instances. |
data | ubyte[] | data area, containing all the support data for the tables listed above. Different items have different alignment requirements, and padding bytes are inserted before each item if necessary to achieve proper alignment. |
link_data | ubyte[] | data used in statically linked files. The format of the data in this section is left unspecified by this document. This section is empty in unlinked files, and runtime implementations may use it as they see fit. |
'Mobile > Android API' 카테고리의 다른 글
170411(화) - System permission (0) | 2017.04.11 |
---|---|
170411(화) - Device Compatibility (0) | 2017.04.11 |
170328(화) - App 기본 항목 (0) | 2017.03.28 |
170328(화) - ART & Dalvik (0) | 2017.03.28 |
170321(화) - Android 구조 (0) | 2017.03.21 |
댓글