Class SplitZipStep

  • All Implemented Interfaces:
    Step

    public class SplitZipStep
    extends Object
    implements Step
    Split zipping tool designed to divide input code blobs into a set of output jar files such that none will exceed the DexOpt LinearAlloc limit or the dx method limit when passed through dx --dex.
    • Constructor Detail

      • SplitZipStep

        public SplitZipStep​(ProjectFilesystem filesystem,
                            Set<Path> inputPathsToSplit,
                            Path secondaryJarMetaPath,
                            Path primaryJarPath,
                            Path secondaryJarDir,
                            String secondaryJarPattern,
                            Path addtionalDexStoreJarMetaPath,
                            Path additionalDexStoreJarDir,
                            Optional<Path> proguardFullConfigFile,
                            Optional<Path> proguardMappingFile,
                            boolean skipProguard,
                            com.facebook.buck.android.DexSplitMode dexSplitMode,
                            Optional<Path> primaryDexScenarioFile,
                            Optional<Path> primaryDexClassesFile,
                            Optional<Path> secondaryDexHeadClassesFile,
                            Optional<Path> secondaryDexTailClassesFile,
                            com.google.common.collect.ImmutableMultimap<APKModule,​Path> apkModuleToJarPathMap,
                            com.google.common.collect.ImmutableSortedMap<APKModule,​com.google.common.collect.ImmutableSortedSet<APKModule>> apkModuleMap,
                            APKModule rootAPKModule,
                            Path pathToReportDir)
        Parameters:
        inputPathsToSplit - Input paths that would otherwise have been passed to a single dx --dex invocation.
        secondaryJarMetaPath - Output location for the metadata text file describing each secondary jar artifact.
        primaryJarPath - Output path for the primary jar file.
        secondaryJarDir - Output location for secondary jar files. Note that this directory may be empty if no secondary jar files are needed.
        secondaryJarPattern - Filename pattern for secondary jar files. Pattern contains one %d argument representing the enumerated secondary zip count (starting at 1).
        proguardFullConfigFile - Path to the full generated ProGuard configuration, generated by the -printconfiguration flag. This is part of the *output* of ProGuard.
        proguardMappingFile - Path to the mapping file generated by ProGuard's obfuscation.
        apkModuleMap -
        rootAPKModule -