public interface DexArchiveMerger
| Modifier and Type | Method and Description |
|---|---|
static DexArchiveMerger |
createD8DexMerger(com.android.ide.common.blame.MessageReceiver messageReceiver,
int minSdkVersion,
boolean isDebuggable)
Creates an instance of dex archive merger that is using d8 to merge dex files.
|
static DexArchiveMerger |
createDxDexMerger(com.android.dx.command.dexer.DxContext dxContext,
java.util.concurrent.ForkJoinPool executor)
Creates an instance of dex archive merger that is using dx to merge dex files.
|
void |
mergeDexArchives(java.lang.Iterable<java.nio.file.Path> inputs,
java.nio.file.Path outputDir,
java.nio.file.Path mainDexClasses,
DexingType dexingType)
Merges the specified dex archive to final dex file(s).
|
@NonNull static DexArchiveMerger createDxDexMerger(@NonNull com.android.dx.command.dexer.DxContext dxContext, @NonNull java.util.concurrent.ForkJoinPool executor)
@NonNull static DexArchiveMerger createD8DexMerger(@NonNull com.android.ide.common.blame.MessageReceiver messageReceiver, int minSdkVersion, boolean isDebuggable)
void mergeDexArchives(@NonNull
java.lang.Iterable<java.nio.file.Path> inputs,
@NonNull
java.nio.file.Path outputDir,
@Nullable
java.nio.file.Path mainDexClasses,
@NonNull
DexingType dexingType)
throws DexArchiveMergerException
DexingType.MONO_DEX, a single dex file is written, named classes.dex
DexingType.LEGACY_MULTIDEX, there can be more than 1 dex files. Files
are named classes.dex, classes2.dex, classes3.dex etc. In this mode, path to a file
containing the list of classes to be placed in the main dex file must be specified.
DexingType.NATIVE_MULTIDEX, there can be 1 or more dex files.
inputs - paths to the dex archives that should be mergedoutputDir - directory where merged dex file(s) will be written, must existmainDexClasses - file containing list of classes to be merged in the main dex file. It
is null for native and mono dex, and must be non-null for legacy dex.dexingType - specifies how to merge dex filesDexArchiveMergerException