public static String[] getMethods(@Nonnull RawDexFile dexFile) { MapItem mapItem = dexFile.getMapItemForSection(ItemType.METHOD_ID_ITEM); if (mapItem == null) { return new String[0]; } int methodCount = mapItem.getItemCount(); String[] ret = new String[methodCount]; for (int i = 0; i < methodCount; i++) { ret[i] = asString(dexFile, i); } return ret; }
public int getMethodOffset() { return dexFile.readSmallUint(METHOD_START_OFFSET); }
public int getMethodCount() { return dexFile.readSmallUint(METHOD_COUNT_OFFSET); }
public int getFieldOffset() { return dexFile.readSmallUint(FIELD_START_OFFSET); }
public int getFieldCount() { return dexFile.readSmallUint(FIELD_COUNT_OFFSET); }
public int getProtoOffset() { return dexFile.readSmallUint(PROTO_START_OFFSET); }
public int getProtoCount() { return dexFile.readSmallUint(PROTO_COUNT_OFFSET); }
public int getChecksum() { return dexFile.readSmallUint(CHECKSUM_OFFSET); }
public int getTypeCount() { return dexFile.readSmallUint(TYPE_COUNT_OFFSET); }
public int getStringOffset() { return dexFile.readSmallUint(STRING_START_OFFSET); }
public int getStringCount() { return dexFile.readSmallUint(STRING_COUNT_OFFSET); }
public int getHeaderSize() { return dexFile.readSmallUint(HEADER_SIZE_OFFSET); }
public int getMapOffset() { return dexFile.readSmallUint(MAP_OFFSET); }
@Nonnull public byte[] getSignature() { return dexFile.readByteRange(SIGNATURE_OFFSET, SIGNATURE_SIZE); }
public int getClassCount() { return dexFile.readSmallUint(CLASS_COUNT_OFFSET); }
public int getClassOffset() { return dexFile.readSmallUint(CLASS_START_OFFSET); }
public int getTypeOffset() { return dexFile.readSmallUint(TYPE_START_OFFSET); }