keepdirectories Specifies the directories to be kept in the output jars (or apks, aabs, aars, wars, ears, jmods, zips, or directories). In those cases, it can be useful to actually read the class members, in order to make sure the processed code remains consistent. Sometimes however, program classes reside in the same packages as library classes, and they do refer to their package visible class members. By default, ProGuard skips these class members while parsing library classes, as program classes will generally not refer to them. dontskipnonpubliclibraryclassmembers Specifies not to ignore package visible library class members (fields and methods). As of version 4.5, this is the default setting. dontskipnonpubliclibraryclasses Specifies not to ignore non-public library classes. ProGuard will print out warnings if it can't find classes due to this option being set. Unfortunately, some libraries, including recent JSE run-time libraries, contain non-public library classes that are extended by public library classes. Ignoring them then speeds up ProGuard, without affecting the output. However, non-public classes are often not relevant, if they don't affect the actual program code in the input jars. By default, ProGuard reads non-public and public library classes alike. skipnonpubliclibraryclasses Specifies to skip non-public classes while reading library jars, to speed up processing and reduce memory usage of ProGuard. For example, you can process J2SE applications as well as JME midlets or Android apps, just by specifying the appropriate run-time jar. Although this may seem cumbersome, it allows you to process applications targeted at different run-time environments. This means that you explicitly have to specify the run-time jar that your code will use. Please note that the boot path and the class path set for running ProGuard are not considered when looking for library classes. For better readability, class path entries can be specified using multiple -libraryjars options. The entries in the class path can be filtered, as explained in the filters section. Library class files that are only called needn't be present, although their presence can improve the results of the optimization step. The specified library jars should at least contain the class files that are extended by application class files. The files in these jars will not be included in the output jars. libraryjars class_path Specifies the library jars (or apks, aabs, aars, wars, ears, jmods, zips, directories) of the application to be processed. Without any -outjars options, no jars will be written. For better readability, class path entries can be specified using multiple -outjars options. You must avoid letting the output files overwrite any input files. Each processed class file or resource file is then written to the first output entry with a matching filter, within the group of output jars. In addition, the output entries can be filtered, as explained in the filters section. This allows you to collect the contents of groups of input jars into corresponding groups of output jars. The processed input of the preceding -injars options will be written to the named jars. outjars class_path Specifies the names of the output jars (or apks, aabs, aars, wars, ears, jmods, zips, or directories). For better readability, class path entries can be specified using multiple -injars options. created by IDEs), especially if you are reading your input files straight from directories. Please be aware of any temporary files (e.g. By default, any non-class files will be copied without changes. The class files in these jars will be processed and written to the output jars. injars class_path Specifies the input jars (or apks, aabs, aars, wars, ears, jmods, zips, or directories) of the application to be processed. basedirectory directoryname Specifies the base directory for all subsequent relative file names in these configuration arguments or this configuration file. include filename Recursively reads configuration options from the given file filename. Input/Output Options ΒΆ filename Short for ' -include filename'. R8, the default Android shrinker, is compatible with ProGuard keep rules.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |