Methods Summary |
---|
public static void | main(java.lang.String[] args)
DexIndexPrinter indexPrinter = new DexIndexPrinter(new File(args[0]));
indexPrinter.printMap();
indexPrinter.printStrings();
indexPrinter.printTypeIds();
indexPrinter.printProtoIds();
indexPrinter.printFieldIds();
indexPrinter.printMethodIds();
indexPrinter.printTypeLists();
indexPrinter.printClassDefs();
|
private void | printClassDefs()
int index = 0;
for (ClassDef classDef : dex.classDefs()) {
System.out.println("class def " + index + ": " + classDef);
index++;
}
|
private void | printFieldIds()
int index = 0;
for (FieldId fieldId : dex.fieldIds()) {
System.out.println("field " + index + ": " + fieldId);
index++;
}
|
private void | printMap()
for (TableOfContents.Section section : tableOfContents.sections) {
if (section.off != -1) {
System.out.println("section " + Integer.toHexString(section.type)
+ " off=" + Integer.toHexString(section.off)
+ " size=" + Integer.toHexString(section.size)
+ " byteCount=" + Integer.toHexString(section.byteCount));
}
}
|
private void | printMethodIds()
int index = 0;
for (MethodId methodId : dex.methodIds()) {
System.out.println("methodId " + index + ": " + methodId);
index++;
}
|
private void | printProtoIds()
int index = 0;
for (ProtoId protoId : dex.protoIds()) {
System.out.println("proto " + index + ": " + protoId);
index++;
}
|
private void | printStrings()
int index = 0;
for (String string : dex.strings()) {
System.out.println("string " + index + ": " + string);
index++;
}
|
private void | printTypeIds()
int index = 0;
for (Integer type : dex.typeIds()) {
System.out.println("type " + index + ": " + dex.strings().get(type));
index++;
}
|
private void | printTypeLists()
if (tableOfContents.typeLists.off == -1) {
System.out.println("No type lists");
return;
}
Dex.Section in = dex.open(tableOfContents.typeLists.off);
for (int i = 0; i < tableOfContents.typeLists.size; i++) {
int size = in.readInt();
System.out.print("Type list i=" + i + ", size=" + size + ", elements=");
for (int t = 0; t < size; t++) {
System.out.print(" " + dex.typeNames().get((int) in.readShort()));
}
if (size % 2 == 1) {
in.readShort(); // retain alignment
}
System.out.println();
}
|