Package proguard.io

Class DataEntryReaderFactory


  • public class DataEntryReaderFactory
    extends java.lang.Object
    This class can create DataEntryReader instances based on class path entries. The readers will unwrap the input data entries from any jars, wars, ears, jmods, and zips before passing them to a given reader.
    • Constructor Detail

      • DataEntryReaderFactory

        public DataEntryReaderFactory​(boolean android)
        Creates a new DataEntryReaderFactory.
        Parameters:
        android - Specifies whether the packaging is targeted at the Android platform. Archives inside the assets directory then aren't unpacked but simply read as data files.
    • Method Detail

      • createDataEntryReader

        public DataEntryReader createDataEntryReader​(ClassPathEntry classPathEntry,
                                                     DataEntryReader reader)
        Creates a DataEntryReader that can read the given class path entry.
        Parameters:
        classPathEntry - the input class path entry.
        reader - a data entry reader to which the reading of actual classes and resource files can be delegated.
        Returns:
        a DataEntryReader for reading the given class path entry.
      • getFilterExcludingVersionedClasses

        public static java.util.List<java.lang.String> getFilterExcludingVersionedClasses​(ClassPathEntry classPathEntry)
        Method to return an augmented filter for supported features.

        Currently versioned class files (a feature introduced in Java 9) are not fully supported by ProGuard. Only 1 version of a class can be read and processed. If no custom filter targeting a specific version is used, exclude such classes from being read.