本文整理汇总了Java中org.jf.dexlib2.dexbacked.raw.OdexHeaderItem类的典型用法代码示例。如果您正苦于以下问题:Java OdexHeaderItem类的具体用法?Java OdexHeaderItem怎么用?Java OdexHeaderItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OdexHeaderItem类属于org.jf.dexlib2.dexbacked.raw包,在下文中一共展示了OdexHeaderItem类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getDependencies
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public List<String> getDependencies() {
final int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
final int dependencyOffset = OdexHeaderItem.getDependenciesOffset(odexBuf) - dexOffset;
BaseDexBuffer buf = new BaseDexBuffer(this.buf);
int dependencyCount = buf.readInt(dependencyOffset + DEPENDENCY_COUNT_OFFSET);
return new VariableSizeList<String>(this, dependencyOffset + DEPENDENCY_START_OFFSET, dependencyCount) {
@Override protected String readNextItem(@Nonnull DexReader reader, int index) {
int length = reader.readInt();
int offset = reader.getOffset();
reader.moveRelative(length + 20);
try {
return new String(DexBackedOdexFile.this.buf, offset, length-1, "US-ASCII");
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex);
}
}
};
}
开发者ID:CvvT,项目名称:andbg,代码行数:21,代码来源:DexBackedOdexFile.java
示例2: getDependencies
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public List<String> getDependencies() {
final int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
final int dependencyOffset = OdexHeaderItem.getDependenciesOffset(odexBuf) - dexOffset;
BaseDexBuffer buf = new BaseDexBuffer(this.buf);
int dependencyCount = buf.readInt(dependencyOffset + DEPENDENCY_COUNT_OFFSET);
return new VariableSizeList<String>(this, dependencyOffset + DEPENDENCY_START_OFFSET, dependencyCount) {
@Override protected String readNextItem( DexReader reader, int index) {
int length = reader.readInt();
int offset = reader.getOffset();
reader.moveRelative(length + 20);
try {
return new String(DexBackedOdexFile.this.buf, offset, length-1, "US-ASCII");
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex);
}
}
};
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:21,代码来源:DexBackedOdexFile.java
示例3: fromInputStream
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public static DexBackedOdexFile fromInputStream( Opcodes opcodes, InputStream is)
throws IOException {
DexUtil.verifyOdexHeader(is);
is.reset();
byte[] odexBuf = new byte[OdexHeaderItem.ITEM_SIZE];
ByteStreams.readFully(is, odexBuf);
int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
if (dexOffset > OdexHeaderItem.ITEM_SIZE) {
ByteStreams.skipFully(is, dexOffset - OdexHeaderItem.ITEM_SIZE);
}
byte[] dexBuf = ByteStreams.toByteArray(is);
return new DexBackedOdexFile(opcodes, odexBuf, dexBuf);
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:17,代码来源:DexBackedOdexFile.java
示例4: getDependencies
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public List<String> getDependencies() {
final int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
final int dependencyOffset = OdexHeaderItem.getDependenciesOffset(odexBuf) - dexOffset;
BaseDexBuffer buf = new BaseDexBuffer(this.buf);
int dependencyCount = buf.readInt(dependencyOffset + DEPENDENCY_COUNT_OFFSET);
return new VariableSizeList<String>(this, dependencyOffset + DEPENDENCY_START_OFFSET, dependencyCount) {
@Override
protected String readNextItem(@Nonnull DexReader reader, int index) {
int length = reader.readInt();
int offset = reader.getOffset();
reader.moveRelative(length + 20);
try {
return new String(DexBackedOdexFile.this.buf, offset, length - 1, "US-ASCII");
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex);
}
}
};
}
开发者ID:niranjan94,项目名称:show-java,代码行数:22,代码来源:DexBackedOdexFile.java
示例5: fromInputStream
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public static DexBackedOdexFile fromInputStream(@Nonnull Opcodes opcodes, @Nonnull InputStream is)
throws IOException {
if (!is.markSupported()) {
throw new IllegalArgumentException("InputStream must support mark");
}
is.mark(8);
byte[] partialHeader = new byte[8];
try {
ByteStreams.readFully(is, partialHeader);
} catch (EOFException ex) {
throw new NotADexFile("File is too short");
} finally {
is.reset();
}
verifyMagic(partialHeader);
is.reset();
byte[] odexBuf = new byte[OdexHeaderItem.ITEM_SIZE];
ByteStreams.readFully(is, odexBuf);
int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
if (dexOffset > OdexHeaderItem.ITEM_SIZE) {
ByteStreams.skipFully(is, dexOffset - OdexHeaderItem.ITEM_SIZE);
}
byte[] dexBuf = ByteStreams.toByteArray(is);
return new DexBackedOdexFile(opcodes, odexBuf, dexBuf);
}
开发者ID:CvvT,项目名称:andbg,代码行数:30,代码来源:DexBackedOdexFile.java
示例6: verifyMagic
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
private static void verifyMagic(byte[] buf) {
if (!OdexHeaderItem.verifyMagic(buf)) {
StringBuilder sb = new StringBuilder("Invalid magic value:");
for (int i=0; i<8; i++) {
sb.append(String.format(" %02x", buf[i]));
}
throw new NotAnOdexFile(sb.toString());
}
}
开发者ID:CvvT,项目名称:andbg,代码行数:10,代码来源:DexBackedOdexFile.java
示例7: fromInputStream
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public static DexBackedOdexFile fromInputStream(@Nonnull Opcodes opcodes,
@Nonnull InputStream is) throws IOException {
if (!is.markSupported()) {
throw new IllegalArgumentException("InputStream must support mark");
}
is.mark(8);
byte[] partialHeader = new byte[8];
try {
ByteStreams.readFully(is, partialHeader);
} catch (EOFException ex) {
throw new NotADexFile("File is too short");
} finally {
is.reset();
}
verifyMagic(partialHeader);
is.reset();
byte[] odexBuf = new byte[OdexHeaderItem.ITEM_SIZE];
ByteStreams.readFully(is, odexBuf);
int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
if (dexOffset > OdexHeaderItem.ITEM_SIZE) {
ByteStreams.skipFully(is, dexOffset - OdexHeaderItem.ITEM_SIZE);
}
byte[] dexBuf = ByteStreams.toByteArray(is);
return new DexBackedOdexFile(opcodes, odexBuf, dexBuf);
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:30,代码来源:DexBackedOdexFile.java
示例8: verifyMagic
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
private static void verifyMagic(byte[] buf) {
if (!OdexHeaderItem.verifyMagic(buf)) {
StringBuilder sb = new StringBuilder("Invalid magic value:");
for (int i = 0; i < 8; i++) {
sb.append(String.format(" %02x", buf[i]));
}
throw new NotAnOdexFile(sb.toString());
}
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:10,代码来源:DexBackedOdexFile.java
示例9: verifyOdexHeader
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
/**
* Verifies that the odex header is valid and a supported version
*
* @param buf A byte array containing at least the first 8 bytes of an odex file
* @param offset The offset within the array to the odex header
* @throws NotAnOdexFile If the file is not an odex file
* @throws UnsupportedFile If the odex header is valid, but uses unsupported functionality
*/
public static void verifyOdexHeader( byte[] buf, int offset) {
int odexVersion = OdexHeaderItem.getVersion(buf, offset);
if (odexVersion == -1) {
StringBuilder sb = new StringBuilder("Not a valid odex magic value:");
for (int i=0; i<8; i++) {
sb.append(String.format(" %02x", buf[i]));
}
throw new NotAnOdexFile(sb.toString());
}
if (!OdexHeaderItem.isSupportedOdexVersion(odexVersion)) {
throw new UnsupportedFile(String.format("Odex version %03d is not supported", odexVersion));
}
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:23,代码来源:DexUtil.java
示例10: verifyMagic
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
private static void verifyMagic(byte[] buf) {
if (!OdexHeaderItem.verifyMagic(buf)) {
StringBuilder sb = new StringBuilder("Invalid magic value:");
for (int i = 0; i < 8; i++) {
sb.append(String.format(" %02x", buf[i]));
}
throw new NotAnOdexFile(sb.toString());
}
}
开发者ID:niranjan94,项目名称:show-java,代码行数:10,代码来源:DexBackedOdexFile.java
示例11: getOdexVersion
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public int getOdexVersion() {
return OdexHeaderItem.getVersion(odexBuf);
}
开发者ID:CvvT,项目名称:andbg,代码行数:4,代码来源:DexBackedOdexFile.java
示例12: getDependencies
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public List<String> getDependencies() {
if (this.getReader() == null) {
final int dexOffset = OdexHeaderItem.getDexOffset(odexBuf);
final int dependencyOffset = OdexHeaderItem
.getDependenciesOffset(odexBuf) - dexOffset;
BaseDexBuffer buf = new BaseDexBuffer(this.buf);
int dependencyCount = buf.readInt(dependencyOffset
+ DEPENDENCY_COUNT_OFFSET);
return new VariableSizeList<String>(this, dependencyOffset
+ DEPENDENCY_START_OFFSET, dependencyCount) {
@Override
protected String readNextItem(@Nonnull DexReader reader,
int index) {
int length = reader.readInt();
int offset = reader.getOffset();
reader.moveRelative(length + 20);
try {
return new String(DexBackedOdexFile.this.buf, offset,
length - 1, "US-ASCII");
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex);
}
}
};
} else {
File file = new File("/system/framework/");
File[] filelist = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
if(pathname.getAbsolutePath().endsWith(".jar"))
return true;
else
return false;
}
});
List<String> list = new ArrayList<String>(filelist.length);
for(int i = 0; i<filelist.length; i++){
list.add(filelist[i].getAbsolutePath());
}
return list;
}
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:48,代码来源:DexBackedOdexFile.java
示例13: getOdexVersion
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public int getOdexVersion() {
return OdexHeaderItem.getVersion(odexBuf);
}
开发者ID:Miracle963,项目名称:zjdroid,代码行数:4,代码来源:DexBackedOdexFile.java
示例14: getOdexVersion
import org.jf.dexlib2.dexbacked.raw.OdexHeaderItem; //导入依赖的package包/类
public int getOdexVersion() {
return OdexHeaderItem.getVersion(odexBuf, 0);
}
开发者ID:AndreJCL,项目名称:JCL,代码行数:4,代码来源:DexBackedOdexFile.java
注:本文中的org.jf.dexlib2.dexbacked.raw.OdexHeaderItem类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论