Tabnine Logo
com.android.dex
Code IndexAdd Tabnine to your IDE (free)

How to use com.android.dex

Best Java code snippets using com.android.dex (Showing top 20 results out of 315)

origin: skylot/jadx

  private int readByte() {
    return in.readByte() & 0xFF;
  }
}
origin: skylot/jadx

public Section openSection(int offset) {
  return dexBuf.open(offset);
}
origin: skylot/jadx

public Code readCode(Method mth) {
  return dexBuf.readCode(mth);
}
origin: skylot/jadx

private MethodInfo(DexNode dex, int mthIndex) {
  MethodId mthId = dex.getMethodId(mthIndex);
  name = dex.getString(mthId.getNameIndex());
  alias = name;
  aliasFromPreset = false;
  declClass = ClassInfo.fromDex(dex, mthId.getDeclaringClassIndex());
  ProtoId proto = dex.getProtoId(mthId.getProtoIndex());
  retType = dex.getType(proto.getReturnTypeIndex());
  args = dex.readParamList(proto.getParametersOffset());
  shortId = makeSignature(true);
}
origin: skylot/jadx

public MethodNode(ClassNode classNode, Method mthData, boolean isVirtual) {
  this.mthInfo = MethodInfo.fromDex(classNode.dex(), mthData.getMethodIndex());
  this.parentClass = classNode;
  this.accFlags = new AccessInfo(mthData.getAccessFlags(), AFType.METHOD);
  this.noCode = mthData.getCodeOffset() == 0;
  this.methodData = noCode ? null : mthData;
  this.methodIsVirtual = isVirtual;
}
origin: skylot/jadx

public static FieldInfo fromDex(DexNode dex, int index) {
  FieldId field = dex.getFieldId(index);
  return from(dex,
      ClassInfo.fromDex(dex, field.getDeclaringClassIndex()),
      dex.getString(field.getNameIndex()),
      dex.getType(field.getTypeIndex()));
}
origin: skylot/jadx

public List<ArgType> readParamList(int parametersOffset) {
  TypeList paramList = dexBuf.readTypeList(parametersOffset);
  List<ArgType> args = new ArrayList<>(paramList.getTypes().length);
  for (short t : paramList.getTypes()) {
    args.add(getType(t));
  }
  return Collections.unmodifiableList(args);
}
origin: skylot/jadx

public FieldNode(ClassNode cls, Field field) {
  this(cls, FieldInfo.fromDex(cls.dex(), field.getFieldIndex()),
      field.getAccessFlags());
}
origin: skylot/jadx

public ProtoId getProtoId(int protoIndex) {
  return dexBuf.protoIds().get(protoIndex);
}
origin: skylot/jadx

public String getString(int index) {
  return dexBuf.strings().get(index);
}
origin: skylot/jadx

@Nullable
private Dex makeDexBuf(String entryName, InputStream inputStream) {
  try {
    return new Dex(inputStream);
  } catch (Exception e) {
    LOG.error("Failed to load file: {}, error: {}", entryName, e.getMessage(), e);
    return null;
  }
}
origin: skylot/jadx

public ClassData readClassData(ClassDef cls) {
  return dexBuf.readClassData(cls);
}
origin: skylot/jadx

public boolean checkOffset(int dataOffset) {
  return dataOffset >= 0 && dataOffset < dexBuf.getLength();
}
origin: skylot/jadx

  public int processFields(List<FieldNode> fields) throws DecodeException {
    int count = Leb128.readUnsignedLeb128(in);
    for (int i = 0; i < count; i++) {
      Object value = parseValue();
      if (i < fields.size()) {
        fields.get(i).addAttr(FieldInitAttr.constValue(value));
      }
    }
    return count;
  }
}
origin: skylot/jadx

  public void test(Code mthCode) throws DecodeException {
    short[] encodedInstructions = mthCode.getInstructions();
    int size = encodedInstructions.length;
    DecodedInstruction[] decoded = new DecodedInstruction[size];
    ShortArrayCodeInput in = new ShortArrayCodeInput(encodedInstructions);
    try {
      while (in.hasMore()) {
        decoded[in.cursor()] = DecodedInstruction.decode(in);
      }
    } catch (EOFException e) {
      throw new DecodeException(method, "", e);
    }
    insnArr = decoded;
  }
}
origin: skylot/jadx

public MethodId getMethodId(int mthIndex) {
  return dexBuf.methodIds().get(mthIndex);
}
origin: skylot/jadx

public FieldId getFieldId(int fieldIndex) {
  return dexBuf.fieldIds().get(fieldIndex);
}
origin: skylot/jadx

private void loadAnnotations(ClassDef cls) {
  int offset = cls.getAnnotationsOffset();
  if (offset != 0) {
    try {
      new AnnotationsParser(this).parse(offset);
    } catch (Exception e) {
      LOG.error("Error parsing annotations in {}", this, e);
    }
  }
}
origin: skylot/jadx

public void loadClasses() {
  for (ClassDef cls : dexBuf.classDefs()) {
    addClassNode(new ClassNode(this, cls));
  }
}
origin: skylot/jadx

public ArgType getType(int index) {
  return ArgType.parse(getString(dexBuf.typeIds().get(index)));
}
com.android.dex

Most used classes

  • Code
  • Dex
    The bytes of a dex file in memory for reading and writing. All int offsets are unsigned.
  • ClassData$Field
  • ClassData$Method
  • ClassData
  • Code$CatchHandler,
  • Code$Try,
  • Dex$Section,
  • FieldId,
  • Leb128,
  • MethodId,
  • ProtoId,
  • TypeList,
  • ClassRef,
  • DexData$ClassDefItem,
  • DexData$FieldIdItem,
  • DexData$HeaderItem,
  • DexData$MethodIdItem,
  • DexData$ProtoIdItem
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now