本文整理汇总了Java中org.jf.dexlib2.dexbacked.raw.ClassDefItem类的典型用法代码示例。如果您正苦于以下问题:Java ClassDefItem类的具体用法?Java ClassDefItem怎么用?Java ClassDefItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClassDefItem类属于org.jf.dexlib2.dexbacked.raw包,在下文中一共展示了ClassDefItem类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: DexBackedClassDef
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
public DexBackedClassDef(@Nonnull DexBackedDexFile dexFile,
int classDefOffset) {
this.dexFile = dexFile;
this.classDefOffset = classDefOffset;
int classDataOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.CLASS_DATA_OFFSET);
if (classDataOffset == 0) {
staticFieldsOffset = -1;
staticFieldCount = 0;
instanceFieldCount = 0;
directMethodCount = 0;
virtualMethodCount = 0;
} else {
DexReader reader = dexFile.readerAt(classDataOffset);
staticFieldCount = reader.readSmallUleb128();
instanceFieldCount = reader.readSmallUleb128();
directMethodCount = reader.readSmallUleb128();
virtualMethodCount = reader.readSmallUleb128();
staticFieldsOffset = reader.getOffset();
}
}
开发者ID:CvvT,项目名称:andbg,代码行数:23,代码来源:DexBackedClassDef.java
示例2: getInterfaces
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
@Nonnull
@Override
public Set<String> getInterfaces() {
final int interfacesOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.INTERFACES_OFFSET);
if (interfacesOffset > 0) {
final int size = dexFile.readSmallUint(interfacesOffset);
return new FixedSizeSet<String>() {
@Nonnull
@Override
public String readItem(int index) {
return dexFile.getType(dexFile.readUshort(interfacesOffset + 4 + (2*index)));
}
@Override public int size() { return size; }
};
}
return ImmutableSet.of();
}
开发者ID:CvvT,项目名称:andbg,代码行数:19,代码来源:DexBackedClassDef.java
示例3: DexBackedClassDef
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
public DexBackedClassDef( DexBackedDexFile dexFile,
int classDefOffset) {
this.dexFile = dexFile;
this.classDefOffset = classDefOffset;
int classDataOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.CLASS_DATA_OFFSET);
if (classDataOffset == 0) {
staticFieldsOffset = -1;
staticFieldCount = 0;
instanceFieldCount = 0;
directMethodCount = 0;
virtualMethodCount = 0;
} else {
DexReader reader = dexFile.readerAt(classDataOffset);
staticFieldCount = reader.readSmallUleb128();
instanceFieldCount = reader.readSmallUleb128();
directMethodCount = reader.readSmallUleb128();
virtualMethodCount = reader.readSmallUleb128();
staticFieldsOffset = reader.getOffset();
}
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:23,代码来源:DexBackedClassDef.java
示例4: getInterfaces
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
@Override
public List<String> getInterfaces() {
final int interfacesOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.INTERFACES_OFFSET);
if (interfacesOffset > 0) {
final int size = dexFile.readSmallUint(interfacesOffset);
return new AbstractList<String>() {
@Override
public String get(int index) {
return dexFile.getType(dexFile.readUshort(interfacesOffset + 4 + (2*index)));
}
@Override public int size() { return size; }
};
}
return ImmutableList.of();
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:18,代码来源:DexBackedClassDef.java
示例5: getInterfaces
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
@Nonnull
@Override
public List<String> getInterfaces() {
final int interfacesOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.INTERFACES_OFFSET);
if (interfacesOffset > 0) {
final int size = dexFile.readSmallUint(interfacesOffset);
return new AbstractList<String>() {
@Override
@Nonnull
public String get(int index) {
return dexFile.getType(dexFile.readUshort(interfacesOffset + 4 + (2*index)));
}
@Override public int size() { return size; }
};
}
return ImmutableList.of();
}
开发者ID:johnlee175,项目名称:dex,代码行数:19,代码来源:DexBackedClassDef.java
示例6: getInterfaces
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
@Nonnull
@Override
public Set<String> getInterfaces() {
final int interfacesOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.INTERFACES_OFFSET);
if (interfacesOffset > 0) {
final int size = dexFile.readSmallUint(interfacesOffset);
return new FixedSizeSet<String>() {
@Nonnull
@Override
public String readItem(int index) {
return dexFile.getType(dexFile.readUshort(interfacesOffset + 4 + (2 * index)));
}
@Override
public int size() {
return size;
}
};
}
return ImmutableSet.of();
}
开发者ID:niranjan94,项目名称:show-java,代码行数:22,代码来源:DexBackedClassDef.java
示例7: getAnnotationsDirectory
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
private AnnotationsDirectory getAnnotationsDirectory() {
if (annotationsDirectory == null) {
int annotationsDirectoryOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.ANNOTATIONS_OFFSET);
annotationsDirectory = AnnotationsDirectory.newOrEmpty(dexFile, annotationsDirectoryOffset);
}
return annotationsDirectory;
}
开发者ID:CvvT,项目名称:andbg,代码行数:8,代码来源:DexBackedClassDef.java
示例8: getClassDefItemOffset
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
public int getClassDefItemOffset(int classIndex) {
if(this.type == DexFileDataType.MEMORYTYPE){
return classStartOffset + classIndex*ClassDefItem.ITEM_SIZE;
}
if (classIndex < 0 || classIndex >= classCount) {
throw new InvalidItemIndex(classIndex, "Class index out of bounds: %d", classIndex);
}
return classStartOffset + classIndex*ClassDefItem.ITEM_SIZE;
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:10,代码来源:DexBackedDexFile.java
示例9: DexBackedClassDef
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
public DexBackedClassDef(@Nonnull DexBackedDexFile dexFile,
int classDefOffset) {
this.dexFile = dexFile;
this.classDefOffset = classDefOffset;
try{
int classDataOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.CLASS_DATA_OFFSET);
//Logger.log("the classDataOffset ="+classDataOffset);
if (classDataOffset == 0) {
staticFieldsOffset = -1;
staticFieldCount = 0;
instanceFieldCount = 0;
directMethodCount = 0;
virtualMethodCount = 0;
} else {
DexReader reader = dexFile.readerAt(classDataOffset);
staticFieldCount = reader.readSmallUleb128();
instanceFieldCount = reader.readSmallUleb128();
directMethodCount = reader.readSmallUleb128();
virtualMethodCount = reader.readSmallUleb128();
staticFieldsOffset = reader.getOffset();
}
}catch(Exception e){
e.printStackTrace();
this.isValid = false;
}
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:30,代码来源:DexBackedClassDef.java
示例10: getDataSectionOffset
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
private int getDataSectionOffset() {
return HeaderItem.ITEM_SIZE +
stringSection.getItems().size() * StringIdItem.ITEM_SIZE +
typeSection.getItems().size() * TypeIdItem.ITEM_SIZE +
protoSection.getItems().size() * ProtoIdItem.ITEM_SIZE +
fieldSection.getItems().size() * FieldIdItem.ITEM_SIZE +
methodSection.getItems().size() * MethodIdItem.ITEM_SIZE +
classSection.getItems().size() * ClassDefItem.ITEM_SIZE;
}
开发者ID:niranjan94,项目名称:show-java,代码行数:10,代码来源:DexWriter.java
示例11: getType
import org.jf.dexlib2.dexbacked.raw.ClassDefItem; //导入依赖的package包/类
@Nonnull
@Override
public String getType() {
return dexFile.getType(dexFile.readSmallUint(classDefOffset + ClassDefItem.CLASS_OFFSET));
}
开发者ID:CvvT,项目名称:andbg,代码行数:6,代码来源:DexBackedClassDef.java
注:本文中的org.jf.dexlib2.dexbacked.raw.ClassDefItem类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论