本文整理汇总了Java中com.android.dex.Dex.writeTo方法的典型用法代码示例。如果您正苦于以下问题:Java Dex.writeTo方法的具体用法?Java Dex.writeTo怎么用?Java Dex.writeTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.android.dex.Dex
的用法示例。
在下文中一共展示了Dex.writeTo方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: main
import com.android.dex.Dex; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
if (args.length < 2) {
printUsage();
return;
}
Dex merged = new Dex(new File(args[1]));
for (int i = 2; i < args.length; i++) {
Dex toMerge = new Dex(new File(args[i]));
merged = new DexMerger(merged, toMerge, CollisionPolicy.KEEP_FIRST).merge();
}
merged.writeTo(new File(args[0]));
}
示例2: loadClass
import com.android.dex.Dex; //导入方法依赖的package包/类
@Override
protected Class<?> loadClass(@NonNull Dex dex, @NonNull String name) throws ClassNotFoundException {
try {
dex.writeTo(dexFile);
} catch (IOException e) {
e.printStackTrace();
}
return new PathClassLoader(dexFile.getPath(), getParent()).loadClass(name);
}
示例3: main
import com.android.dex.Dex; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
if (args.length < 2) {
printUsage();
return;
}
Dex[] dexes = new Dex[args.length - 1];
for (int i = 1; i < args.length; i++) {
dexes[i - 1] = new Dex(new File(args[i]));
}
Dex merged = new DexMerger(dexes, CollisionPolicy.KEEP_FIRST).merge();
merged.writeTo(new File(args[0]));
}
示例4: addFile
import com.android.dex.Dex; //导入方法依赖的package包/类
/**
* Adds a {@code .dex} file with the given details.
*/
public DexFileArchive addFile(ZipEntry entry, Dex dex) throws IOException {
checkState(inUse.compareAndSet(null, entry), "Already in use");
entry.setSize(dex.getLength());
out.putNextEntry(entry);
dex.writeTo(out);
out.closeEntry();
checkState(inUse.compareAndSet(entry, null), "Swooped in: ", inUse.get());
return this;
}
示例5: main
import com.android.dex.Dex; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
if (args.length < 2) {
printUsage();
return;
}
ImmutableList.Builder<Dex> toMerge = ImmutableList.builder();
for (int i = 2; i < args.length; i++) {
toMerge.add(new Dex(new File(args[i])));
}
Dex merged = new DexMerger(toMerge.build(), CollisionPolicy.KEEP_FIRST).merge();
merged.writeTo(new File(args[0]));
}
示例6: mergeAndLoad
import com.android.dex.Dex; //导入方法依赖的package包/类
public ClassLoader mergeAndLoad(String dexAResource, String dexBResource) throws Exception {
Dex dexA = resourceToDexBuffer(dexAResource);
Dex dexB = resourceToDexBuffer(dexBResource);
Dex merged = new DexMerger(
ImmutableList.of(dexA, dexB), CollisionPolicy.KEEP_FIRST).merge();
File mergedDex = File.createTempFile("DexMergeTest", ".classes.dex");
merged.writeTo(mergedDex);
File mergedJar = dexToJar(mergedDex);
// simplify the javac classpath by not depending directly on 'dalvik.system' classes
return (ClassLoader) Class.forName("dalvik.system.PathClassLoader")
.getConstructor(String.class, ClassLoader.class)
.newInstance(mergedJar.getPath(), getClass().getClassLoader());
}
示例7: main
import com.android.dex.Dex; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
if (args.length < 2) {
printUsage();
return;
}
Dex[] dexes = new Dex[args.length - 1];
for (int i = 1; i < args.length; i++) {
dexes[i - 1] = new Dex(new File(args[i]));
}
Dex merged = new DexMerger(dexes, CollisionPolicy.KEEP_FIRST, new DxContext()).merge();
merged.writeTo(new File(args[0]));
}
示例8: mergeAndLoad
import com.android.dex.Dex; //导入方法依赖的package包/类
public ClassLoader mergeAndLoad(String dexAResource, String dexBResource) throws Exception {
Dex dexA = resourceToDexBuffer(dexAResource);
Dex dexB = resourceToDexBuffer(dexBResource);
Dex merged = new DexMerger(dexA, dexB, CollisionPolicy.KEEP_FIRST).merge();
File mergedDex = File.createTempFile("DexMergeTest", ".classes.dex");
merged.writeTo(mergedDex);
File mergedJar = dexToJar(mergedDex);
// simplify the javac classpath by not depending directly on 'dalvik.system' classes
return (ClassLoader) Class.forName("dalvik.system.PathClassLoader")
.getConstructor(String.class, ClassLoader.class)
.newInstance(mergedJar.getPath(), getClass().getClassLoader());
}