Sheet 1
DEX
  dalvik/libdex/DexFile.h
  DexHeader
    Direct-mapped "header_item" struct
    u1 magic[8];
      /* includes version number */
    u4 checksum;
      /* adler32 checksum */
    u1 signature[kSHA1DigestLen];
      /* SHA-1 hash */
    u4 fileSize;
      /* length of entire file */
    u4 headerSize;
      /* offset to start of next section */
    u4 endianTag;
    u4 linkSize;
    u4 linkOff;
    u4 mapOff;
    u4 stringIdsSize;
      字符串个数
    u4 stringIdsOff;
      字符串数据区相对于文件起始的偏移量
    u4 typeIdsSize;
    u4 typeIdsOff;
    u4 protoIdsSize;
    u4 protoIdsOff;
    u4 fieldIdsSize;
    u4 fieldIdsOff;
    u4 methodIdsSize;
    u4 methodIdsOff;
    u4 classDefsSize;
    u4 classDefsOff;
    u4 dataSize;
    u4 dataOff;
  DexStringId
    u4 stringDataOff;
      每一个字符串相对于文件起始的偏移量
  DexTypeId
    u4 descriptorIdx;
      /* index into stringIds list for type descriptor */
  DexFieldId
    u2 classIdx;
      /* index into typeIds list for defining class */
    u2 typeIdx;
      /* index into typeIds for field type */
    u4 nameIdx;
      /* index into stringIds for field name */
  DexMethodId
    u2 classIdx;
      /* index into typeIds list for defining class */
    u2 protoIdx;
      /* index into protoIds for method prototype */
    u4 nameIdx;
      /* index into stringIds for method name */
  DexProtoId
    u4 shortyIdx;
      /* index into stringIds for shorty descriptor */
    u4 returnTypeIdx;
      /* index into typeIds list for return type */
    u4 parametersOff;
      /* file offset to type_list for parameter types */
  DexClassDef
    u4 classIdx;
      /* index into typeIds for this class */
    u4 accessFlags;
    u4 superclassIdx;
      /* index into typeIds for superclass */
    u4 interfacesOff;
      /* file offset to DexTypeList */
    u4 sourceFileIdx;
      /* index into stringIds for source file name */
    u4 annotationsOff;
      /* file offset to annotations_directory_item */
    u4 classDataOff;
      /* file offset to class_data_item */
    u4 staticValuesOff;
      /* file offset to DexEncodedArray */
  DexLink
    Link table. Currently undefined.
    u1 bleargh;