实例介绍
【实例简介】
资源是proguard6.2.2版本,里面附上了中文的使用教程,一看就懂,非常简单,不懂的可以私信问我。
【实例截图】
【核心代码】
4744300845408065854.rar
└── proguard6.2.2
├── proguard6.2.2
│ ├── annotations
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ └── src
│ │ └── proguard
│ │ └── annotation
│ │ ├── KeepApplication.java
│ │ ├── KeepClassMemberNames.java
│ │ ├── KeepClassMembers.java
│ │ ├── KeepGettersSetters.java
│ │ ├── KeepImplementations.java
│ │ ├── Keep.java
│ │ ├── KeepName.java
│ │ ├── KeepPublicClassMemberNames.java
│ │ ├── KeepPublicClassMembers.java
│ │ ├── KeepPublicGettersSetters.java
│ │ ├── KeepPublicImplementations.java
│ │ ├── KeepPublicProtectedClassMemberNames.java
│ │ └── KeepPublicProtectedClassMembers.java
│ ├── ant
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ └── proguard
│ │ └── ant
│ │ ├── ClassPathElement.java
│ │ ├── ClassSpecificationElement.java
│ │ ├── ConfigurationElement.java
│ │ ├── ConfigurationTask.java
│ │ ├── FilterElement.java
│ │ ├── KeepSpecificationElement.java
│ │ ├── MemberSpecificationElement.java
│ │ ├── package.html
│ │ ├── ProGuardTask.java
│ │ └── task.properties
│ ├── bin
│ │ ├── proguard.bat
│ │ ├── proguardgui.bat
│ │ ├── proguardgui.sh
│ │ ├── proguard.sh
│ │ ├── retrace.bat
│ │ └── retrace.sh
│ ├── buildscripts
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── functions.mk
│ │ ├── functions.sh
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── README
│ │ └── settings.gradle
│ ├── core
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ ├── ArgumentWordReader.java
│ │ ├── AssumeNoSideEffectsChecker.java
│ │ ├── backport
│ │ │ ├── AbstractAPIConverter.java
│ │ │ ├── Backporter.java
│ │ │ ├── DefaultInterfaceMethodConverter.java
│ │ │ ├── JSR310Converter.java
│ │ │ ├── LambdaExpressionCollector.java
│ │ │ ├── LambdaExpressionConverter.java
│ │ │ ├── LambdaExpression.java
│ │ │ ├── StaticInterfaceMethodConverter.java
│ │ │ ├── StreamSupportConverter.java
│ │ │ └── StringConcatenationConverter.java
│ │ ├── classfile
│ │ │ ├── attribute
│ │ │ │ ├── annotation
│ │ │ │ │ ├── AnnotationDefaultAttribute.java
│ │ │ │ │ ├── AnnotationElementValue.java
│ │ │ │ │ ├── Annotation.java
│ │ │ │ │ ├── AnnotationsAttribute.java
│ │ │ │ │ ├── ArrayElementValue.java
│ │ │ │ │ ├── ClassElementValue.java
│ │ │ │ │ ├── ConstantElementValue.java
│ │ │ │ │ ├── ElementValue.java
│ │ │ │ │ ├── EnumConstantElementValue.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleTypeAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleTypeAnnotationsAttribute.java
│ │ │ │ │ ├── target
│ │ │ │ │ │ ├── CatchTargetInfo.java
│ │ │ │ │ │ ├── EmptyTargetInfo.java
│ │ │ │ │ │ ├── FormalParameterTargetInfo.java
│ │ │ │ │ │ ├── LocalVariableTargetElement.java
│ │ │ │ │ │ ├── LocalVariableTargetInfo.java
│ │ │ │ │ │ ├── OffsetTargetInfo.java
│ │ │ │ │ │ ├── SuperTypeTargetInfo.java
│ │ │ │ │ │ ├── TargetInfo.java
│ │ │ │ │ │ ├── ThrowsTargetInfo.java
│ │ │ │ │ │ ├── TypeArgumentTargetInfo.java
│ │ │ │ │ │ ├── TypeParameterBoundTargetInfo.java
│ │ │ │ │ │ ├── TypeParameterTargetInfo.java
│ │ │ │ │ │ └── visitor
│ │ │ │ │ │ ├── LocalVariableTargetElementVisitor.java
│ │ │ │ │ │ └── TargetInfoVisitor.java
│ │ │ │ │ ├── TypeAnnotation.java
│ │ │ │ │ ├── TypeAnnotationsAttribute.java
│ │ │ │ │ ├── TypePathInfo.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── AllAnnotationVisitor.java
│ │ │ │ │ ├── AllElementValueVisitor.java
│ │ │ │ │ ├── AnnotationToAnnotatedClassVisitor.java
│ │ │ │ │ ├── AnnotationToAnnotatedMemberVisitor.java
│ │ │ │ │ ├── AnnotationTypeFilter.java
│ │ │ │ │ ├── AnnotationVisitor.java
│ │ │ │ │ ├── ElementValueVisitor.java
│ │ │ │ │ ├── MultiAnnotationVisitor.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── TypeAnnotationVisitor.java
│ │ │ │ │ └── TypePathInfoVisitor.java
│ │ │ │ ├── Attribute.java
│ │ │ │ ├── BootstrapMethodInfo.java
│ │ │ │ ├── BootstrapMethodsAttribute.java
│ │ │ │ ├── CodeAttribute.java
│ │ │ │ ├── ConstantValueAttribute.java
│ │ │ │ ├── DeprecatedAttribute.java
│ │ │ │ ├── EnclosingMethodAttribute.java
│ │ │ │ ├── ExceptionInfo.java
│ │ │ │ ├── ExceptionsAttribute.java
│ │ │ │ ├── ExtendedLineNumberInfo.java
│ │ │ │ ├── InnerClassesAttribute.java
│ │ │ │ ├── InnerClassesInfo.java
│ │ │ │ ├── LineNumberInfo.java
│ │ │ │ ├── LineNumberTableAttribute.java
│ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ ├── LocalVariableTableAttribute.java
│ │ │ │ ├── LocalVariableTypeInfo.java
│ │ │ │ ├── LocalVariableTypeTableAttribute.java
│ │ │ │ ├── MethodParametersAttribute.java
│ │ │ │ ├── module
│ │ │ │ │ ├── ExportsInfo.java
│ │ │ │ │ ├── ModuleAttribute.java
│ │ │ │ │ ├── ModuleMainClassAttribute.java
│ │ │ │ │ ├── ModulePackagesAttribute.java
│ │ │ │ │ ├── OpensInfo.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ProvidesInfo.java
│ │ │ │ │ ├── RequiresInfo.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── AllExportsInfoVisitor.java
│ │ │ │ │ ├── AllOpensInfoVisitor.java
│ │ │ │ │ ├── AllProvidesInfoVisitor.java
│ │ │ │ │ ├── AllRequiresInfoVisitor.java
│ │ │ │ │ ├── ExportsInfoVisitor.java
│ │ │ │ │ ├── OpensInfoVisitor.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ProvidesInfoVisitor.java
│ │ │ │ │ └── RequiresInfoVisitor.java
│ │ │ │ ├── NestHostAttribute.java
│ │ │ │ ├── NestMembersAttribute.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterInfo.java
│ │ │ │ ├── preverification
│ │ │ │ │ ├── DoubleType.java
│ │ │ │ │ ├── FloatType.java
│ │ │ │ │ ├── FullFrame.java
│ │ │ │ │ ├── IntegerType.java
│ │ │ │ │ ├── LessZeroFrame.java
│ │ │ │ │ ├── LongType.java
│ │ │ │ │ ├── MoreZeroFrame.java
│ │ │ │ │ ├── NullType.java
│ │ │ │ │ ├── ObjectType.java
│ │ │ │ │ ├── SameOneFrame.java
│ │ │ │ │ ├── SameZeroFrame.java
│ │ │ │ │ ├── StackMapAttribute.java
│ │ │ │ │ ├── StackMapFrame.java
│ │ │ │ │ ├── StackMapTableAttribute.java
│ │ │ │ │ ├── TopType.java
│ │ │ │ │ ├── UninitializedThisType.java
│ │ │ │ │ ├── UninitializedType.java
│ │ │ │ │ ├── VerificationTypeFactory.java
│ │ │ │ │ ├── VerificationType.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── StackMapFrameVisitor.java
│ │ │ │ │ └── VerificationTypeVisitor.java
│ │ │ │ ├── SignatureAttribute.java
│ │ │ │ ├── SourceDirAttribute.java
│ │ │ │ ├── SourceFileAttribute.java
│ │ │ │ ├── SyntheticAttribute.java
│ │ │ │ ├── UnknownAttribute.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllAttributeVisitor.java
│ │ │ │ ├── AllBootstrapMethodInfoVisitor.java
│ │ │ │ ├── AllExceptionInfoVisitor.java
│ │ │ │ ├── AllInnerClassesInfoVisitor.java
│ │ │ │ ├── AllLineNumberInfoVisitor.java
│ │ │ │ ├── AttributeCounter.java
│ │ │ │ ├── AttributeNameFilter.java
│ │ │ │ ├── AttributeToClassVisitor.java
│ │ │ │ ├── AttributeVisitor.java
│ │ │ │ ├── BootstrapMethodInfoVisitor.java
│ │ │ │ ├── DebugAttributeVisitor.java
│ │ │ │ ├── ExceptionInfoVisitor.java
│ │ │ │ ├── InnerClassesInfoVisitor.java
│ │ │ │ ├── InstructionToAttributeVisitor.java
│ │ │ │ ├── LineNumberInfoVisitor.java
│ │ │ │ ├── LineNumberRangeFinder.java
│ │ │ │ ├── LocalVariableInfoVisitor.java
│ │ │ │ ├── LocalVariableTypeInfoVisitor.java
│ │ │ │ ├── MultiAttributeVisitor.java
│ │ │ │ ├── NonEmptyAttributeFilter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterInfoVisitor.java
│ │ │ │ ├── RequiredAttributeFilter.java
│ │ │ │ ├── SingleTimeAttributeVisitor.java
│ │ │ │ └── StackSizeComputer.java
│ │ │ ├── ClassConstants.java
│ │ │ ├── ClassPool.java
│ │ │ ├── Clazz.java
│ │ │ ├── constant
│ │ │ │ ├── ClassConstant.java
│ │ │ │ ├── Constant.java
│ │ │ │ ├── DoubleConstant.java
│ │ │ │ ├── DynamicConstant.java
│ │ │ │ ├── FieldrefConstant.java
│ │ │ │ ├── FloatConstant.java
│ │ │ │ ├── IntegerConstant.java
│ │ │ │ ├── InterfaceMethodrefConstant.java
│ │ │ │ ├── InvokeDynamicConstant.java
│ │ │ │ ├── LongConstant.java
│ │ │ │ ├── MethodHandleConstant.java
│ │ │ │ ├── MethodrefConstant.java
│ │ │ │ ├── MethodTypeConstant.java
│ │ │ │ ├── ModuleConstant.java
│ │ │ │ ├── NameAndTypeConstant.java
│ │ │ │ ├── PackageConstant.java
│ │ │ │ ├── PrimitiveArrayConstant.java
│ │ │ │ ├── RefConstant.java
│ │ │ │ ├── StringConstant.java
│ │ │ │ ├── Utf8Constant.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllBootstrapMethodArgumentVisitor.java
│ │ │ │ ├── AllConstantVisitor.java
│ │ │ │ ├── BootstrapMethodHandleTraveler.java
│ │ │ │ ├── ConstantCounter.java
│ │ │ │ ├── ConstantTagFilter.java
│ │ │ │ ├── ConstantVisitor.java
│ │ │ │ ├── ExceptClassConstantFilter.java
│ │ │ │ ├── MethodrefTraveler.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PrimitiveArrayConstantElementVisitor.java
│ │ │ │ ├── PrimitiveArrayConstantVisitor.java
│ │ │ │ └── SuperClassConstantVisitor.java
│ │ │ ├── editor
│ │ │ │ ├── AccessFixer.java
│ │ │ │ ├── AnnotationAdder.java
│ │ │ │ ├── AnnotationsAttributeEditor.java
│ │ │ │ ├── AttributeAdder.java
│ │ │ │ ├── AttributesEditor.java
│ │ │ │ ├── AttributeSorter.java
│ │ │ │ ├── BootstrapMethodInfoAdder.java
│ │ │ │ ├── BootstrapMethodRemapper.java
│ │ │ │ ├── BootstrapMethodsAttributeAdder.java
│ │ │ │ ├── BootstrapMethodsAttributeEditor.java
│ │ │ │ ├── BootstrapMethodsAttributeShrinker.java
│ │ │ │ ├── BridgeMethodFixer.java
│ │ │ │ ├── ClassEditor.java
│ │ │ │ ├── ClassElementSorter.java
│ │ │ │ ├── ClassMemberSorter.java
│ │ │ │ ├── ClassReferenceFixer.java
│ │ │ │ ├── CodeAttributeComposer.java
│ │ │ │ ├── CodeAttributeEditor.java
│ │ │ │ ├── CodeAttributeEditorResetter.java
│ │ │ │ ├── CompactCodeAttributeComposer.java
│ │ │ │ ├── ComparableConstant.java
│ │ │ │ ├── ConstantAdder.java
│ │ │ │ ├── ConstantPoolEditor.java
│ │ │ │ ├── ConstantPoolRemapper.java
│ │ │ │ ├── ConstantPoolShrinker.java
│ │ │ │ ├── ConstantPoolSorter.java
│ │ │ │ ├── ElementValueAdder.java
│ │ │ │ ├── ElementValuesEditor.java
│ │ │ │ ├── ExceptionAdder.java
│ │ │ │ ├── ExceptionInfoAdder.java
│ │ │ │ ├── ExceptionInfoEditor.java
│ │ │ │ ├── ExceptionsAttributeEditor.java
│ │ │ │ ├── InnerClassesAccessFixer.java
│ │ │ │ ├── InnerClassesAttributeEditor.java
│ │ │ │ ├── InstructionAdder.java
│ │ │ │ ├── InstructionSequenceBuilder.java
│ │ │ │ ├── InstructionWriter.java
│ │ │ │ ├── InterfaceAdder.java
│ │ │ │ ├── InterfaceDeleter.java
│ │ │ │ ├── InterfacesEditor.java
│ │ │ │ ├── InterfaceSorter.java
│ │ │ │ ├── LineNumberInfoAdder.java
│ │ │ │ ├── LineNumberTableAttributeEditor.java
│ │ │ │ ├── LineNumberTableAttributeTrimmer.java
│ │ │ │ ├── LocalVariableInfoAdder.java
│ │ │ │ ├── LocalVariableTableAttributeEditor.java
│ │ │ │ ├── LocalVariableTypeInfoAdder.java
│ │ │ │ ├── LocalVariableTypeTableAttributeEditor.java
│ │ │ │ ├── MemberAdder.java
│ │ │ │ ├── MemberReferenceFixer.java
│ │ │ │ ├── MemberRemover.java
│ │ │ │ ├── MethodInvocationFixer.java
│ │ │ │ ├── NameAndTypeShrinker.java
│ │ │ │ ├── NamedAttributeDeleter.java
│ │ │ │ ├── NestMemberAdder.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterAnnotationsAttributeEditor.java
│ │ │ │ ├── ParameterInfoAdder.java
│ │ │ │ ├── SimplifiedClassEditor.java
│ │ │ │ ├── StackSizeUpdater.java
│ │ │ │ ├── SubclassAdder.java
│ │ │ │ ├── SubclassToAdder.java
│ │ │ │ ├── TargetInfoCopier.java
│ │ │ │ ├── TypeAnnotationAdder.java
│ │ │ │ ├── Utf8Shrinker.java
│ │ │ │ ├── VariableCleaner.java
│ │ │ │ ├── VariableEditor.java
│ │ │ │ ├── VariableRemapper.java
│ │ │ │ └── VariableSizeUpdater.java
│ │ │ ├── Field.java
│ │ │ ├── instruction
│ │ │ │ ├── BranchInstruction.java
│ │ │ │ ├── ConstantInstruction.java
│ │ │ │ ├── InstructionConstants.java
│ │ │ │ ├── InstructionFactory.java
│ │ │ │ ├── Instruction.java
│ │ │ │ ├── InstructionUtil.java
│ │ │ │ ├── LookUpSwitchInstruction.java
│ │ │ │ ├── package.html
│ │ │ │ ├── SimpleInstruction.java
│ │ │ │ ├── SwitchInstruction.java
│ │ │ │ ├── TableSwitchInstruction.java
│ │ │ │ ├── VariableInstruction.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllInstructionVisitor.java
│ │ │ │ ├── InstructionConstantVisitor.java
│ │ │ │ ├── InstructionCounter.java
│ │ │ │ ├── InstructionVisitor.java
│ │ │ │ ├── MultiInstructionVisitor.java
│ │ │ │ └── package.html
│ │ │ ├── io
│ │ │ │ ├── LibraryClassReader.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ProgramClassReader.java
│ │ │ │ ├── ProgramClassWriter.java
│ │ │ │ ├── RuntimeDataInput.java
│ │ │ │ └── RuntimeDataOutput.java
│ │ │ ├── JavaConstants.java
│ │ │ ├── LibraryClass.java
│ │ │ ├── LibraryField.java
│ │ │ ├── LibraryMember.java
│ │ │ ├── LibraryMethod.java
│ │ │ ├── Member.java
│ │ │ ├── Method.java
│ │ │ ├── package.html
│ │ │ ├── ProgramClass.java
│ │ │ ├── ProgramField.java
│ │ │ ├── ProgramMember.java
│ │ │ ├── ProgramMethod.java
│ │ │ ├── util
│ │ │ │ ├── AccessUtil.java
│ │ │ │ ├── AllParameterVisitor.java
│ │ │ │ ├── ArrayInitializationMatcher.java
│ │ │ │ ├── ArrayInitializationReplacer.java
│ │ │ │ ├── ClassReferenceInitializer.java
│ │ │ │ ├── ClassSubHierarchyInitializer.java
│ │ │ │ ├── ClassSuperHierarchyInitializer.java
│ │ │ │ ├── ClassUtil.java
│ │ │ │ ├── DescriptorClassEnumeration.java
│ │ │ │ ├── DynamicClassReferenceInitializer.java
│ │ │ │ ├── DynamicMemberReferenceInitializer.java
│ │ │ │ ├── EnumFieldReferenceInitializer.java
│ │ │ │ ├── ExternalTypeEnumeration.java
│ │ │ │ ├── InstructionSequenceMatcher.java
│ │ │ │ ├── InternalTypeEnumeration.java
│ │ │ │ ├── MemberFinder.java
│ │ │ │ ├── MethodLinker.java
│ │ │ │ ├── NestHostFinder.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PrimitiveArrayConstantReplacer.java
│ │ │ │ ├── SimplifiedVisitor.java
│ │ │ │ ├── StringReferenceInitializer.java
│ │ │ │ ├── StringSharer.java
│ │ │ │ └── WarningPrinter.java
│ │ │ ├── visitor
│ │ │ │ ├── AllClassVisitor.java
│ │ │ │ ├── AllFieldVisitor.java
│ │ │ │ ├── AllMemberVisitor.java
│ │ │ │ ├── AllMethodVisitor.java
│ │ │ │ ├── BottomClassFilter.java
│ │ │ │ ├── ClassAccessFilter.java
│ │ │ │ ├── ClassCleaner.java
│ │ │ │ ├── ClassCollector.java
│ │ │ │ ├── ClassCounter.java
│ │ │ │ ├── ClassHierarchyTraveler.java
│ │ │ │ ├── ClassNameFilter.java
│ │ │ │ ├── ClassPoolClassVisitor.java
│ │ │ │ ├── ClassPoolFiller.java
│ │ │ │ ├── ClassPoolRemover.java
│ │ │ │ ├── ClassPoolVisitor.java
│ │ │ │ ├── ClassPresenceFilter.java
│ │ │ │ ├── ClassPrinter.java
│ │ │ │ ├── ClassVersionFilter.java
│ │ │ │ ├── ClassVersionSetter.java
│ │ │ │ ├── ClassVisitor.java
│ │ │ │ ├── ConcreteClassDownTraveler.java
│ │ │ │ ├── ConstructorMethodFilter.java
│ │ │ │ ├── DotClassClassVisitor.java
│ │ │ │ ├── DynamicReturnedClassVisitor.java
│ │ │ │ ├── ExceptClassesFilter.java
│ │ │ │ ├── ExceptClassFilter.java
│ │ │ │ ├── ExceptionCounter.java
│ │ │ │ ├── ExceptionExcludedOffsetFilter.java
│ │ │ │ ├── ExceptionHandlerConstantVisitor.java
│ │ │ │ ├── ExceptionHandlerFilter.java
│ │ │ │ ├── ExceptionOffsetFilter.java
│ │ │ │ ├── ExceptionRangeFilter.java
│ │ │ │ ├── FunctionalInterfaceFilter.java
│ │ │ │ ├── ImplementedClassConstantFilter.java
│ │ │ │ ├── ImplementedClassFilter.java
│ │ │ │ ├── ImplementingClassConstantFilter.java
│ │ │ │ ├── InitializerMethodFilter.java
│ │ │ │ ├── LibraryClassFilter.java
│ │ │ │ ├── LibraryMemberFilter.java
│ │ │ │ ├── MemberAccessFilter.java
│ │ │ │ ├── MemberAccessFlagCleaner.java
│ │ │ │ ├── MemberAccessFlagSetter.java
│ │ │ │ ├── MemberAccessSetter.java
│ │ │ │ ├── MemberClassAccessFilter.java
│ │ │ │ ├── MemberCollector.java
│ │ │ │ ├── MemberCounter.java
│ │ │ │ ├── MemberDescriptorFilter.java
│ │ │ │ ├── MemberDescriptorReferencedClassVisitor.java
│ │ │ │ ├── MemberNameFilter.java
│ │ │ │ ├── MemberToClassVisitor.java
│ │ │ │ ├── MemberVisitor.java
│ │ │ │ ├── MethodCollector.java
│ │ │ │ ├── MethodImplementationFilter.java
│ │ │ │ ├── MethodImplementationTraveler.java
│ │ │ │ ├── MultiClassPoolVisitor.java
│ │ │ │ ├── MultiClassVisitor.java
│ │ │ │ ├── MultiConstantVisitor.java
│ │ │ │ ├── MultiMemberVisitor.java
│ │ │ │ ├── NamedClassVisitor.java
│ │ │ │ ├── NamedFieldVisitor.java
│ │ │ │ ├── NamedMethodVisitor.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParallelAllClassVisitor.java
│ │ │ │ ├── ParameterVisitor.java
│ │ │ │ ├── ProgramClassFilter.java
│ │ │ │ ├── ProgramMemberFilter.java
│ │ │ │ ├── ReferencedClassVisitor.java
│ │ │ │ ├── ReferencedMemberVisitor.java
│ │ │ │ ├── SignatureAttributeReferencedClassVisitor.java
│ │ │ │ ├── SimilarMemberVisitor.java
│ │ │ │ ├── SimpleClassPrinter.java
│ │ │ │ ├── SingleTimeClassVisitor.java
│ │ │ │ ├── SubclassFilter.java
│ │ │ │ ├── SubclassTraveler.java
│ │ │ │ ├── VariableClassVisitor.java
│ │ │ │ ├── VariableMemberVisitor.java
│ │ │ │ └── VisitorInfoSetter.java
│ │ │ └── VisitorAccepter.java
│ │ ├── ClassMemberChecker.java
│ │ ├── ClassPathEntry.java
│ │ ├── ClassPath.java
│ │ ├── ClassSpecification.java
│ │ ├── ClassSpecificationVisitorFactory.java
│ │ ├── configuration
│ │ │ ├── ConfigurationLogger.java
│ │ │ ├── ConfigurationLoggingAdder.java
│ │ │ ├── ConfigurationLoggingInstructionSequenceConstants.java
│ │ │ ├── ConfigurationLoggingInstructionSequenceReplacer.java
│ │ │ └── ConfigurationLoggingInstructionSequencesReplacer.java
│ │ ├── ConfigurationChecker.java
│ │ ├── ConfigurationConstants.java
│ │ ├── Configuration.java
│ │ ├── ConfigurationParser.java
│ │ ├── ConfigurationWriter.java
│ │ ├── DataEntryReaderFactory.java
│ │ ├── DataEntryWriterFactory.java
│ │ ├── DescriptorKeepChecker.java
│ │ ├── DuplicateClassPrinter.java
│ │ ├── evaluation
│ │ │ ├── AssumeClassSpecificationVisitorFactory.java
│ │ │ ├── BasicBranchUnit.java
│ │ │ ├── BasicInvocationUnit.java
│ │ │ ├── BranchUnit.java
│ │ │ ├── ClassConstantValueFactory.java
│ │ │ ├── ConstantValueFactory.java
│ │ │ ├── InvocationUnit.java
│ │ │ ├── Processor.java
│ │ │ ├── SimplifiedInvocationUnit.java
│ │ │ ├── Stack.java
│ │ │ ├── TracedStack.java
│ │ │ ├── TracedVariables.java
│ │ │ ├── value
│ │ │ │ ├── ArrayReferenceValueFactory.java
│ │ │ │ ├── ArrayReferenceValue.java
│ │ │ │ ├── BasicValueFactory.java
│ │ │ │ ├── Category1Value.java
│ │ │ │ ├── Category2Value.java
│ │ │ │ ├── ComparisonValue.java
│ │ │ │ ├── CompositeDoubleValue.java
│ │ │ │ ├── CompositeFloatValue.java
│ │ │ │ ├── CompositeIntegerValue.java
│ │ │ │ ├── CompositeLongValue.java
│ │ │ │ ├── ConvertedByteValue.java
│ │ │ │ ├── ConvertedCharacterValue.java
│ │ │ │ ├── ConvertedDoubleValue.java
│ │ │ │ ├── ConvertedFloatValue.java
│ │ │ │ ├── ConvertedIntegerValue.java
│ │ │ │ ├── ConvertedLongValue.java
│ │ │ │ ├── ConvertedShortValue.java
│ │ │ │ ├── DetailedArrayReferenceValue.java
│ │ │ │ ├── DetailedArrayValueFactory.java
│ │ │ │ ├── DoubleValue.java
│ │ │ │ ├── FloatValue.java
│ │ │ │ ├── IdentifiedArrayReferenceValue.java
│ │ │ │ ├── IdentifiedDoubleValue.java
│ │ │ │ ├── IdentifiedFloatValue.java
│ │ │ │ ├── IdentifiedIntegerValue.java
│ │ │ │ ├── IdentifiedLongValue.java
│ │ │ │ ├── IdentifiedReferenceValue.java
│ │ │ │ ├── IdentifiedValueFactory.java
│ │ │ │ ├── InitialValueFactory.java
│ │ │ │ ├── InstructionOffsetValue.java
│ │ │ │ ├── IntegerValue.java
│ │ │ │ ├── LongValue.java
│ │ │ │ ├── NegatedDoubleValue.java
│ │ │ │ ├── NegatedFloatValue.java
│ │ │ │ ├── NegatedIntegerValue.java
│ │ │ │ ├── NegatedLongValue.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParticularDoubleValue.java
│ │ │ │ ├── ParticularFloatValue.java
│ │ │ │ ├── ParticularIntegerValue.java
│ │ │ │ ├── ParticularLongValue.java
│ │ │ │ ├── ParticularValueFactory.java
│ │ │ │ ├── PrimitiveTypedReferenceValueFactory.java
│ │ │ │ ├── RangeIntegerValue.java
│ │ │ │ ├── RangeValueFactory.java
│ │ │ │ ├── ReferenceValue.java
│ │ │ │ ├── SpecificDoubleValue.java
│ │ │ │ ├── SpecificFloatValue.java
│ │ │ │ ├── SpecificIntegerValue.java
│ │ │ │ ├── SpecificLongValue.java
│ │ │ │ ├── TopValue.java
│ │ │ │ ├── TracedReferenceValue.java
│ │ │ │ ├── TracingValue.java
│ │ │ │ ├── TypedReferenceValueFactory.java
│ │ │ │ ├── TypedReferenceValue.java
│ │ │ │ ├── UnknownDoubleValue.java
│ │ │ │ ├── UnknownFloatValue.java
│ │ │ │ ├── UnknownIntegerValue.java
│ │ │ │ ├── UnknownLongValue.java
│ │ │ │ ├── UnknownReferenceValue.java
│ │ │ │ ├── ValueFactory.java
│ │ │ │ └── Value.java
│ │ │ └── Variables.java
│ │ ├── FileWordReader.java
│ │ ├── FullyQualifiedClassNameChecker.java
│ │ ├── GetAnnotationChecker.java
│ │ ├── GetEnclosingClassChecker.java
│ │ ├── GetEnclosingMethodChecker.java
│ │ ├── GetSignatureChecker.java
│ │ ├── GPL.java
│ │ ├── Initializer.java
│ │ ├── InputReader.java
│ │ ├── io
│ │ │ ├── CascadingDataEntryWriter.java
│ │ │ ├── ClassDataEntryWriter.java
│ │ │ ├── ClassFilter.java
│ │ │ ├── ClassMapDataEntryWriter.java
│ │ │ ├── ClassPathDataEntry.java
│ │ │ ├── ClassReader.java
│ │ │ ├── DataEntryClassWriter.java
│ │ │ ├── DataEntryCopier.java
│ │ │ ├── DataEntryDirectoryFilter.java
│ │ │ ├── DataEntryFilter.java
│ │ │ ├── DataEntry.java
│ │ │ ├── DataEntryNameFilter.java
│ │ │ ├── DataEntryParentFilter.java
│ │ │ ├── DataEntryPump.java
│ │ │ ├── DataEntryReader.java
│ │ │ ├── DataEntryRewriter.java
│ │ │ ├── DataEntryWriter.java
│ │ │ ├── DirectoryFilter.java
│ │ │ ├── DirectoryPump.java
│ │ │ ├── DirectoryWriter.java
│ │ │ ├── ExtraDataEntryWriter.java
│ │ │ ├── FileDataEntry.java
│ │ │ ├── FilteredDataEntryReader.java
│ │ │ ├── FilteredDataEntryWriter.java
│ │ │ ├── Finisher.java
│ │ │ ├── IdleRewriter.java
│ │ │ ├── JarReader.java
│ │ │ ├── JarWriter.java
│ │ │ ├── ManifestRewriter.java
│ │ │ ├── NameFilteredDataEntryWriter.java
│ │ │ ├── NameFilter.java
│ │ │ ├── package.html
│ │ │ ├── ParentDataEntryWriter.java
│ │ │ ├── PrefixAddingDataEntryWriter.java
│ │ │ ├── PrefixStrippingDataEntryReader.java
│ │ │ ├── RenamedDataEntry.java
│ │ │ ├── RenamedDataEntryReader.java
│ │ │ ├── RenamedDataEntryWriter.java
│ │ │ ├── RenamedParentDataEntryWriter.java
│ │ │ ├── WrappedDataEntry.java
│ │ │ ├── ZipDataEntry.java
│ │ │ ├── ZipFileDataEntry.java
│ │ │ └── ZipOutput.java
│ │ ├── KeepClassMemberChecker.java
│ │ ├── KeepClassSpecification.java
│ │ ├── KeepClassSpecificationVisitorFactory.java
│ │ ├── LibraryKeepChecker.java
│ │ ├── LineWordReader.java
│ │ ├── MemberSpecification.java
│ │ ├── MemberValueSpecification.java
│ │ ├── obfuscate
│ │ │ ├── AttributeShrinker.java
│ │ │ ├── AttributeUsageMarker.java
│ │ │ ├── ClassObfuscator.java
│ │ │ ├── ClassRenamer.java
│ │ │ ├── DictionaryNameFactory.java
│ │ │ ├── MapCleaner.java
│ │ │ ├── MappingKeeper.java
│ │ │ ├── MappingPrinter.java
│ │ │ ├── MappingProcessor.java
│ │ │ ├── MappingReader.java
│ │ │ ├── MemberNameCleaner.java
│ │ │ ├── MemberNameCollector.java
│ │ │ ├── MemberNameConflictFixer.java
│ │ │ ├── MemberNameFilter.java
│ │ │ ├── MemberObfuscator.java
│ │ │ ├── MemberSpecialNameFilter.java
│ │ │ ├── MultiMappingProcessor.java
│ │ │ ├── NameFactory.java
│ │ │ ├── NameFactoryResetter.java
│ │ │ ├── NameMarker.java
│ │ │ ├── NumericNameFactory.java
│ │ │ ├── Obfuscator.java
│ │ │ ├── package.html
│ │ │ ├── ParameterNameMarker.java
│ │ │ ├── PrefixingNameFactory.java
│ │ │ ├── RenamedFlagSetter.java
│ │ │ ├── SimpleNameFactory.java
│ │ │ ├── SourceFileRenamer.java
│ │ │ ├── SpecialNameFactory.java
│ │ │ └── UniqueMemberNameFactory.java
│ │ ├── optimize
│ │ │ ├── BootstrapMethodArgumentShrinker.java
│ │ │ ├── ChangedCodePrinter.java
│ │ │ ├── ConstantMemberFilter.java
│ │ │ ├── ConstantParameterFilter.java
│ │ │ ├── DuplicateInitializerFixer.java
│ │ │ ├── DuplicateInitializerInvocationFixer.java
│ │ │ ├── evaluation
│ │ │ │ ├── EvaluationShrinker.java
│ │ │ │ ├── EvaluationSimplifier.java
│ │ │ │ ├── InitializationFinder.java
│ │ │ │ ├── InstructionUsageMarker.java
│ │ │ │ ├── LivenessAnalyzer.java
│ │ │ │ ├── LoadingInvocationUnit.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterTracingInvocationUnit.java
│ │ │ │ ├── PartialEvaluator.java
│ │ │ │ ├── ReferenceTracingInvocationUnit.java
│ │ │ │ ├── ReferenceTracingValueFactory.java
│ │ │ │ ├── SimpleEnumArrayPropagator.java
│ │ │ │ ├── SimpleEnumClassChecker.java
│ │ │ │ ├── SimpleEnumClassSimplifier.java
│ │ │ │ ├── SimpleEnumDescriptorSimplifier.java
│ │ │ │ ├── SimpleEnumUseChecker.java
│ │ │ │ ├── SimpleEnumUseSimplifier.java
│ │ │ │ ├── StoringInvocationUnit.java
│ │ │ │ ├── TracedBranchUnit.java
│ │ │ │ └── VariableOptimizer.java
│ │ │ ├── gson
│ │ │ │ ├── DuplicateJsonFieldNameChecker.java
│ │ │ │ ├── FieldSignatureCollector.java
│ │ │ │ ├── GsonAnnotationCleaner.java
│ │ │ │ ├── GsonBuilderInvocationFinder.java
│ │ │ │ ├── GsonClassConstants.java
│ │ │ │ ├── GsonConstructorPatcher.java
│ │ │ │ ├── GsonContext.java
│ │ │ │ ├── GsonDeserializationInvocationFinder.java
│ │ │ │ ├── GsonDeserializationOptimizer.java
│ │ │ │ ├── GsonDomainClassFinder.java
│ │ │ │ ├── GsonInstrumentationAdder.java
│ │ │ │ ├── GsonOptimizer.java
│ │ │ │ ├── GsonRuntimeSettings.java
│ │ │ │ ├── GsonSerializationInvocationFinder.java
│ │ │ │ ├── GsonSerializationOptimizer.java
│ │ │ │ ├── _GsonUtil.java
│ │ │ │ ├── InlineDeserializer.java
│ │ │ │ ├── InlineDeserializers.java
│ │ │ │ ├── InlineSerializer.java
│ │ │ │ ├── InlineSerializers.java
│ │ │ │ ├── LocalOrAnonymousClassChecker.java
│ │ │ │ ├── MarkedAnnotationDeleter.java
│ │ │ │ ├── OptimizedClassConstants.java
│ │ │ │ ├── OptimizedJsonFieldCollector.java
│ │ │ │ ├── OptimizedJsonFieldVisitor.java
│ │ │ │ ├── OptimizedJsonInfo.java
│ │ │ │ ├── OptimizedJsonReaderImplInitializer.java
│ │ │ │ ├── _OptimizedJsonReaderImpl.java
│ │ │ │ ├── _OptimizedJsonReader.java
│ │ │ │ ├── OptimizedJsonWriterImplInitializer.java
│ │ │ │ ├── _OptimizedJsonWriterImpl.java
│ │ │ │ ├── _OptimizedJsonWriter.java
│ │ │ │ ├── OptimizedTypeAdapterAdder.java
│ │ │ │ ├── OptimizedTypeAdapterFactoryInitializer.java
│ │ │ │ ├── _OptimizedTypeAdapterFactory.java
│ │ │ │ ├── _OptimizedTypeAdapterImpl.java
│ │ │ │ ├── OptimizedTypeAdapterInitializer.java
│ │ │ │ ├── _OptimizedTypeAdapter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── TypeArgumentFinder.java
│ │ │ │ ├── TypeParameterClassChecker.java
│ │ │ │ └── TypeTokenClassBuilder.java
│ │ │ ├── info
│ │ │ │ ├── AccessMethodMarker.java
│ │ │ │ ├── BackwardBranchMarker.java
│ │ │ │ ├── CatchExceptionMarker.java
│ │ │ │ ├── CaughtClassFilter.java
│ │ │ │ ├── CaughtClassMarker.java
│ │ │ │ ├── ClassOptimizationInfo.java
│ │ │ │ ├── CodeAttributeOptimizationInfo.java
│ │ │ │ ├── DotClassFilter.java
│ │ │ │ ├── DotClassMarker.java
│ │ │ │ ├── DynamicInvocationMarker.java
│ │ │ │ ├── EscapingClassFilter.java
│ │ │ │ ├── EscapingClassMarker.java
│ │ │ │ ├── ExceptionInstructionChecker.java
│ │ │ │ ├── FieldOptimizationInfo.java
│ │ │ │ ├── FinalFieldAssignmentMarker.java
│ │ │ │ ├── InstanceofClassFilter.java
│ │ │ │ ├── InstanceofClassMarker.java
│ │ │ │ ├── InstantiationClassFilter.java
│ │ │ │ ├── InstantiationClassMarker.java
│ │ │ │ ├── MethodInvocationMarker.java
│ │ │ │ ├── MethodOptimizationInfo.java
│ │ │ │ ├── MutableBoolean.java
│ │ │ │ ├── NoEscapingParametersMethodMarker.java
│ │ │ │ ├── NoExternalReturnValuesMethodMarker.java
│ │ │ │ ├── NoExternalSideEffectMethodMarker.java
│ │ │ │ ├── NonEmptyStackReturnMarker.java
│ │ │ │ ├── NonPrivateMemberMarker.java
│ │ │ │ ├── NoSideEffectClassMarker.java
│ │ │ │ ├── NoSideEffectMethodMarker.java
│ │ │ │ ├── OptimizationCodeAttributeFilter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PackageVisibleMemberContainingClassMarker.java
│ │ │ │ ├── PackageVisibleMemberInvokingClassMarker.java
│ │ │ │ ├── ParameterEscapedMarker.java
│ │ │ │ ├── ParameterEscapeMarker.java
│ │ │ │ ├── ParameterUsageMarker.java
│ │ │ │ ├── ProgramClassOptimizationInfo.java
│ │ │ │ ├── ProgramClassOptimizationInfoSetter.java
│ │ │ │ ├── ProgramFieldOptimizationInfo.java
│ │ │ │ ├── ProgramMemberOptimizationInfoSetter.java
│ │ │ │ ├── ProgramMethodOptimizationInfo.java
│ │ │ │ ├── ReadWriteFieldMarker.java
│ │ │ │ ├── ReferenceEscapeChecker.java
│ │ │ │ ├── RepeatedClassPoolVisitor.java
│ │ │ │ ├── SideEffectClassChecker.java
│ │ │ │ ├── SideEffectClassFilter.java
│ │ │ │ ├── SideEffectClassMarker.java
│ │ │ │ ├── SideEffectInstructionChecker.java
│ │ │ │ ├── SideEffectMethodFilter.java
│ │ │ │ ├── SideEffectMethodMarker.java
│ │ │ │ ├── SimpleEnumFilter.java
│ │ │ │ ├── SimpleEnumMarker.java
│ │ │ │ ├── SuperInvocationMarker.java
│ │ │ │ ├── SynchronizedBlockMethodMarker.java
│ │ │ │ ├── UnusedParameterMethodFilter.java
│ │ │ │ ├── UnusedParameterOptimizationInfoUpdater.java
│ │ │ │ ├── UsedParameterFilter.java
│ │ │ │ ├── VariableUsageMarker.java
│ │ │ │ └── WrapperClassMarker.java
│ │ │ ├── KeepMarker.java
│ │ │ ├── KeptClassFilter.java
│ │ │ ├── KeptMemberFilter.java
│ │ │ ├── MemberDescriptorSpecializer.java
│ │ │ ├── MethodDescriptorShrinker.java
│ │ │ ├── MethodStaticizer.java
│ │ │ ├── OptimizationInfoClassFilter.java
│ │ │ ├── OptimizationInfoMemberFilter.java
│ │ │ ├── Optimizer.java
│ │ │ ├── package.html
│ │ │ ├── ParameterShrinker.java
│ │ │ ├── peephole
│ │ │ │ ├── BranchTargetFinder.java
│ │ │ │ ├── ClassFinalizer.java
│ │ │ │ ├── ClassMerger.java
│ │ │ │ ├── GotoCommonCodeReplacer.java
│ │ │ │ ├── GotoGotoReplacer.java
│ │ │ │ ├── GotoReturnReplacer.java
│ │ │ │ ├── HorizontalClassMerger.java
│ │ │ │ ├── InstructionSequenceConstants.java
│ │ │ │ ├── InstructionSequenceReplacer.java
│ │ │ │ ├── InstructionSequencesReplacer.java
│ │ │ │ ├── LineNumberLinearizer.java
│ │ │ │ ├── MemberPrivatizer.java
│ │ │ │ ├── MethodFinalizer.java
│ │ │ │ ├── MethodInliner.java
│ │ │ │ ├── NopRemover.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PeepholeOptimizer.java
│ │ │ │ ├── ReachableCodeMarker.java
│ │ │ │ ├── RetargetedClassFilter.java
│ │ │ │ ├── RetargetedInnerClassAttributeRemover.java
│ │ │ │ ├── TargetClassChanger.java
│ │ │ │ ├── UnreachableCodeRemover.java
│ │ │ │ ├── UnreachableExceptionRemover.java
│ │ │ │ ├── VariableShrinker.java
│ │ │ │ ├── VerticalClassMerger.java
│ │ │ │ ├── WildcardConstantFilter.java
│ │ │ │ ├── WrapperClassMerger.java
│ │ │ │ └── WrapperClassUseSimplifier.java
│ │ │ ├── TailRecursionSimplifier.java
│ │ │ └── WriteOnlyFieldFilter.java
│ │ ├── OutputWriter.java
│ │ ├── package.html
│ │ ├── ParseException.java
│ │ ├── preverify
│ │ │ ├── CodePreverifier.java
│ │ │ ├── CodeSubroutineInliner.java
│ │ │ ├── Preverifier.java
│ │ │ └── SubroutineInliner.java
│ │ ├── ProGuard.java
│ │ ├── SeedPrinter.java
│ │ ├── shrink
│ │ │ ├── AnnotationUsageMarker.java
│ │ │ ├── ClassShrinker.java
│ │ │ ├── InnerUsageMarker.java
│ │ │ ├── InterfaceUsageMarker.java
│ │ │ ├── LocalVariableTypeUsageMarker.java
│ │ │ ├── NestUsageMarker.java
│ │ │ ├── package.html
│ │ │ ├── ShortestUsageMarker.java
│ │ │ ├── ShortestUsageMark.java
│ │ │ ├── ShortestUsagePrinter.java
│ │ │ ├── Shrinker.java
│ │ │ ├── UsageMarker.java
│ │ │ ├── UsagePrinter.java
│ │ │ ├── UsedClassFilter.java
│ │ │ └── UsedMemberFilter.java
│ │ ├── SubclassedClassFilter.java
│ │ ├── Targeter.java
│ │ ├── UpToDateChecker.java
│ │ ├── util
│ │ │ ├── AndMatcher.java
│ │ │ ├── ArrayUtil.java
│ │ │ ├── ClassNameParser.java
│ │ │ ├── CollectionMatcher.java
│ │ │ ├── ConstantMatcher.java
│ │ │ ├── Counter.java
│ │ │ ├── EmptyStringMatcher.java
│ │ │ ├── ExtensionMatcher.java
│ │ │ ├── FileNameParser.java
│ │ │ ├── FixedStringMatcher.java
│ │ │ ├── ListMatcher.java
│ │ │ ├── ListParser.java
│ │ │ ├── ListUtil.java
│ │ │ ├── MatchedStringMatcher.java
│ │ │ ├── MultiValueMap.java
│ │ │ ├── NameParser.java
│ │ │ ├── NotMatcher.java
│ │ │ ├── ObjectUtil.java
│ │ │ ├── OrMatcher.java
│ │ │ ├── package.html
│ │ │ ├── PrintWriterUtil.java
│ │ │ ├── SettableMatcher.java
│ │ │ ├── StringMatcher.java
│ │ │ ├── StringParser.java
│ │ │ ├── StringTransformer.java
│ │ │ ├── StringUtil.java
│ │ │ └── VariableStringMatcher.java
│ │ └── WordReader.java
│ ├── docs
│ │ ├── android_small.png
│ │ ├── dexguard.png
│ │ ├── downloads.md
│ │ ├── FAQ.md
│ │ ├── feedback.md
│ │ ├── fonts
│ │ │ ├── OpenSans-Bold.eot
│ │ │ ├── OpenSans-Bold.svg
│ │ │ ├── OpenSans-Bold.ttf
│ │ │ ├── OpenSans-Bold.woff
│ │ │ ├── OpenSans-Italic.eot
│ │ │ ├── OpenSans-Italic.svg
│ │ │ ├── OpenSans-Italic.ttf
│ │ │ ├── OpenSans-Italic.woff
│ │ │ ├── OpenSans-Regular.eot
│ │ │ ├── OpenSans-Regular.svg
│ │ │ ├── OpenSans-Regular.ttf
│ │ │ └── OpenSans-Regular.woff
│ │ ├── GPL_exception.md
│ │ ├── GPL.md
│ │ ├── guardsquare.png
│ │ ├── index.md
│ │ ├── license.md
│ │ ├── manual
│ │ │ ├── ant.md
│ │ │ ├── attention.gif
│ │ │ ├── attributes.md
│ │ │ ├── examples.md
│ │ │ ├── gradle.md
│ │ │ ├── gradleplugin.md
│ │ │ ├── gui.md
│ │ │ ├── index.md
│ │ │ ├── limitations.md
│ │ │ ├── optimizations.md
│ │ │ ├── refcard.md
│ │ │ ├── retrace
│ │ │ │ ├── examples.md
│ │ │ │ ├── index.md
│ │ │ │ ├── mapping.md
│ │ │ │ └── usage.md
│ │ │ ├── style.css
│ │ │ ├── troubleshooting.md
│ │ │ ├── usage.md
│ │ │ └── wtk.md
│ │ ├── mkdocs.yml
│ │ ├── NOTICE_Gson
│ │ ├── proguard.appdata.xml
│ │ ├── proguard.png
│ │ ├── results.md
│ │ └── style.css
│ ├── examples
│ │ ├── android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── debug.keystore
│ │ │ ├── gradle.properties
│ │ │ ├── proguard-project.txt
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── example
│ │ │ └── HelloWorldActivity.java
│ │ ├── android-plugin
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── debug.keystore
│ │ │ ├── proguard-project.txt
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── example
│ │ │ └── HelloWorldActivity.java
│ │ ├── annotations
│ │ │ ├── examples
│ │ │ │ ├── Applet.java
│ │ │ │ ├── Application.java
│ │ │ │ ├── Bean.java
│ │ │ │ └── NativeCallBack.java
│ │ │ └── examples.pro
│ │ ├── ant
│ │ │ ├── applets.xml
│ │ │ ├── applications1.xml
│ │ │ ├── applications2.xml
│ │ │ ├── applications3.xml
│ │ │ ├── library.xml
│ │ │ ├── midlets.xml
│ │ │ ├── proguard.xml
│ │ │ └── servlets.xml
│ │ ├── dictionaries
│ │ │ ├── compact.txt
│ │ │ ├── keywords.txt
│ │ │ ├── shakespeare.txt
│ │ │ └── windows.txt
│ │ ├── gradle
│ │ │ ├── android.gradle
│ │ │ ├── applets.gradle
│ │ │ ├── applications.gradle
│ │ │ ├── library.gradle
│ │ │ ├── midlets.gradle
│ │ │ ├── proguardall.gradle
│ │ │ ├── proguard.gradle
│ │ │ ├── proguardgui.gradle
│ │ │ ├── retrace.gradle
│ │ │ ├── scala.gradle
│ │ │ └── servlets.gradle
│ │ └── standalone
│ │ ├── android.pro
│ │ ├── applets.pro
│ │ ├── applications.pro
│ │ ├── library.pro
│ │ ├── midlets.pro
│ │ ├── proguardall.pro
│ │ ├── proguardgui.pro
│ │ ├── proguard.pro
│ │ ├── retrace.pro
│ │ ├── scala.pro
│ │ └── servlets.pro
│ ├── gradle
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── gradle-plugins
│ │ │ └── proguard.properties
│ │ └── proguard
│ │ └── gradle
│ │ ├── GradleUtil.groovy
│ │ ├── proguard-android-common.pro
│ │ ├── proguard-android-debug.pro
│ │ ├── proguard-android-release-optimize.pro
│ │ ├── proguard-android-release.pro
│ │ ├── ProGuardConvention.groovy
│ │ ├── ProGuardExtension.groovy
│ │ ├── ProGuardPlugin.groovy
│ │ ├── ProGuardTask.java
│ │ └── ProGuardTransform.groovy
│ ├── gui
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ └── gui
│ │ ├── arrow.gif
│ │ ├── boilerplate.pro
│ │ ├── ClassPathPanel.java
│ │ ├── ClassSpecificationDialog.java
│ │ ├── ClassSpecificationsPanel.java
│ │ ├── default.pro
│ │ ├── ExtensionFileFilter.java
│ │ ├── FilterBuilder.java
│ │ ├── FilterDialog.java
│ │ ├── GUIResources.java
│ │ ├── GUIResources.properties
│ │ ├── KeepSpecificationsPanel.java
│ │ ├── ListPanel.java
│ │ ├── MemberSpecificationDialog.java
│ │ ├── MemberSpecificationsPanel.java
│ │ ├── MessageDialogRunnable.java
│ │ ├── OptimizationsDialog.java
│ │ ├── package.html
│ │ ├── ProGuardGUI.java
│ │ ├── ProGuardRunnable.java
│ │ ├── ReTraceRunnable.java
│ │ ├── splash
│ │ │ ├── BufferedSprite.java
│ │ │ ├── CircleSprite.java
│ │ │ ├── ClipSprite.java
│ │ │ ├── ColorSprite.java
│ │ │ ├── CompositeSprite.java
│ │ │ ├── ConstantColor.java
│ │ │ ├── ConstantDouble.java
│ │ │ ├── ConstantFont.java
│ │ │ ├── ConstantInt.java
│ │ │ ├── ConstantString.java
│ │ │ ├── ConstantTiming.java
│ │ │ ├── FontSprite.java
│ │ │ ├── ImageSprite.java
│ │ │ ├── LinearColor.java
│ │ │ ├── LinearDouble.java
│ │ │ ├── LinearInt.java
│ │ │ ├── LinearTiming.java
│ │ │ ├── OverrideGraphics2D.java
│ │ │ ├── package.html
│ │ │ ├── RectangleSprite.java
│ │ │ ├── SawToothTiming.java
│ │ │ ├── ShadowedSprite.java
│ │ │ ├── SineTiming.java
│ │ │ ├── SmoothTiming.java
│ │ │ ├── SplashPanel.java
│ │ │ ├── Sprite.java
│ │ │ ├── TextSprite.java
│ │ │ ├── TimeSwitchSprite.java
│ │ │ ├── Timing.java
│ │ │ ├── TypeWriterString.java
│ │ │ ├── VariableColor.java
│ │ │ ├── VariableDouble.java
│ │ │ ├── VariableFont.java
│ │ │ ├── VariableInt.java
│ │ │ ├── VariableSizeFont.java
│ │ │ └── VariableString.java
│ │ ├── SwingUtil.java
│ │ ├── TabbedPane.java
│ │ ├── TextAreaOutputStream.java
│ │ ├── TextAreaWriter.java
│ │ └── vtitle.png
│ ├── lib
│ │ ├── annotations.jar
│ │ ├── gson-2.8.5.jar
│ │ ├── proguardgui.jar
│ │ ├── proguard.jar
│ │ └── retrace.jar
│ ├── LICENSE_exception.md
│ ├── LICENSE.md
│ ├── README.md
│ ├── retrace
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ └── retrace
│ │ ├── FrameInfo.java
│ │ ├── FramePattern.java
│ │ ├── FrameRemapper.java
│ │ ├── package.html
│ │ └── ReTrace.java
│ └── wtk
│ ├── ant.properties
│ ├── build.gradle
│ ├── build.sh
│ ├── build.xml
│ ├── gradle.properties
│ ├── makefile
│ ├── pom.xml
│ ├── settings.gradle
│ └── src
│ └── proguard
│ └── wtk
│ ├── default.pro
│ ├── package.html
│ └── ProGuardObfuscator.java
└── 使用教程.png
96 directories, 1085 files
资源是proguard6.2.2版本,里面附上了中文的使用教程,一看就懂,非常简单,不懂的可以私信问我。
【实例截图】
【核心代码】
4744300845408065854.rar
└── proguard6.2.2
├── proguard6.2.2
│ ├── annotations
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ └── src
│ │ └── proguard
│ │ └── annotation
│ │ ├── KeepApplication.java
│ │ ├── KeepClassMemberNames.java
│ │ ├── KeepClassMembers.java
│ │ ├── KeepGettersSetters.java
│ │ ├── KeepImplementations.java
│ │ ├── Keep.java
│ │ ├── KeepName.java
│ │ ├── KeepPublicClassMemberNames.java
│ │ ├── KeepPublicClassMembers.java
│ │ ├── KeepPublicGettersSetters.java
│ │ ├── KeepPublicImplementations.java
│ │ ├── KeepPublicProtectedClassMemberNames.java
│ │ └── KeepPublicProtectedClassMembers.java
│ ├── ant
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ └── proguard
│ │ └── ant
│ │ ├── ClassPathElement.java
│ │ ├── ClassSpecificationElement.java
│ │ ├── ConfigurationElement.java
│ │ ├── ConfigurationTask.java
│ │ ├── FilterElement.java
│ │ ├── KeepSpecificationElement.java
│ │ ├── MemberSpecificationElement.java
│ │ ├── package.html
│ │ ├── ProGuardTask.java
│ │ └── task.properties
│ ├── bin
│ │ ├── proguard.bat
│ │ ├── proguardgui.bat
│ │ ├── proguardgui.sh
│ │ ├── proguard.sh
│ │ ├── retrace.bat
│ │ └── retrace.sh
│ ├── buildscripts
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── functions.mk
│ │ ├── functions.sh
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── README
│ │ └── settings.gradle
│ ├── core
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ ├── ArgumentWordReader.java
│ │ ├── AssumeNoSideEffectsChecker.java
│ │ ├── backport
│ │ │ ├── AbstractAPIConverter.java
│ │ │ ├── Backporter.java
│ │ │ ├── DefaultInterfaceMethodConverter.java
│ │ │ ├── JSR310Converter.java
│ │ │ ├── LambdaExpressionCollector.java
│ │ │ ├── LambdaExpressionConverter.java
│ │ │ ├── LambdaExpression.java
│ │ │ ├── StaticInterfaceMethodConverter.java
│ │ │ ├── StreamSupportConverter.java
│ │ │ └── StringConcatenationConverter.java
│ │ ├── classfile
│ │ │ ├── attribute
│ │ │ │ ├── annotation
│ │ │ │ │ ├── AnnotationDefaultAttribute.java
│ │ │ │ │ ├── AnnotationElementValue.java
│ │ │ │ │ ├── Annotation.java
│ │ │ │ │ ├── AnnotationsAttribute.java
│ │ │ │ │ ├── ArrayElementValue.java
│ │ │ │ │ ├── ClassElementValue.java
│ │ │ │ │ ├── ConstantElementValue.java
│ │ │ │ │ ├── ElementValue.java
│ │ │ │ │ ├── EnumConstantElementValue.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeInvisibleTypeAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleParameterAnnotationsAttribute.java
│ │ │ │ │ ├── RuntimeVisibleTypeAnnotationsAttribute.java
│ │ │ │ │ ├── target
│ │ │ │ │ │ ├── CatchTargetInfo.java
│ │ │ │ │ │ ├── EmptyTargetInfo.java
│ │ │ │ │ │ ├── FormalParameterTargetInfo.java
│ │ │ │ │ │ ├── LocalVariableTargetElement.java
│ │ │ │ │ │ ├── LocalVariableTargetInfo.java
│ │ │ │ │ │ ├── OffsetTargetInfo.java
│ │ │ │ │ │ ├── SuperTypeTargetInfo.java
│ │ │ │ │ │ ├── TargetInfo.java
│ │ │ │ │ │ ├── ThrowsTargetInfo.java
│ │ │ │ │ │ ├── TypeArgumentTargetInfo.java
│ │ │ │ │ │ ├── TypeParameterBoundTargetInfo.java
│ │ │ │ │ │ ├── TypeParameterTargetInfo.java
│ │ │ │ │ │ └── visitor
│ │ │ │ │ │ ├── LocalVariableTargetElementVisitor.java
│ │ │ │ │ │ └── TargetInfoVisitor.java
│ │ │ │ │ ├── TypeAnnotation.java
│ │ │ │ │ ├── TypeAnnotationsAttribute.java
│ │ │ │ │ ├── TypePathInfo.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── AllAnnotationVisitor.java
│ │ │ │ │ ├── AllElementValueVisitor.java
│ │ │ │ │ ├── AnnotationToAnnotatedClassVisitor.java
│ │ │ │ │ ├── AnnotationToAnnotatedMemberVisitor.java
│ │ │ │ │ ├── AnnotationTypeFilter.java
│ │ │ │ │ ├── AnnotationVisitor.java
│ │ │ │ │ ├── ElementValueVisitor.java
│ │ │ │ │ ├── MultiAnnotationVisitor.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── TypeAnnotationVisitor.java
│ │ │ │ │ └── TypePathInfoVisitor.java
│ │ │ │ ├── Attribute.java
│ │ │ │ ├── BootstrapMethodInfo.java
│ │ │ │ ├── BootstrapMethodsAttribute.java
│ │ │ │ ├── CodeAttribute.java
│ │ │ │ ├── ConstantValueAttribute.java
│ │ │ │ ├── DeprecatedAttribute.java
│ │ │ │ ├── EnclosingMethodAttribute.java
│ │ │ │ ├── ExceptionInfo.java
│ │ │ │ ├── ExceptionsAttribute.java
│ │ │ │ ├── ExtendedLineNumberInfo.java
│ │ │ │ ├── InnerClassesAttribute.java
│ │ │ │ ├── InnerClassesInfo.java
│ │ │ │ ├── LineNumberInfo.java
│ │ │ │ ├── LineNumberTableAttribute.java
│ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ ├── LocalVariableTableAttribute.java
│ │ │ │ ├── LocalVariableTypeInfo.java
│ │ │ │ ├── LocalVariableTypeTableAttribute.java
│ │ │ │ ├── MethodParametersAttribute.java
│ │ │ │ ├── module
│ │ │ │ │ ├── ExportsInfo.java
│ │ │ │ │ ├── ModuleAttribute.java
│ │ │ │ │ ├── ModuleMainClassAttribute.java
│ │ │ │ │ ├── ModulePackagesAttribute.java
│ │ │ │ │ ├── OpensInfo.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ProvidesInfo.java
│ │ │ │ │ ├── RequiresInfo.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── AllExportsInfoVisitor.java
│ │ │ │ │ ├── AllOpensInfoVisitor.java
│ │ │ │ │ ├── AllProvidesInfoVisitor.java
│ │ │ │ │ ├── AllRequiresInfoVisitor.java
│ │ │ │ │ ├── ExportsInfoVisitor.java
│ │ │ │ │ ├── OpensInfoVisitor.java
│ │ │ │ │ ├── package.html
│ │ │ │ │ ├── ProvidesInfoVisitor.java
│ │ │ │ │ └── RequiresInfoVisitor.java
│ │ │ │ ├── NestHostAttribute.java
│ │ │ │ ├── NestMembersAttribute.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterInfo.java
│ │ │ │ ├── preverification
│ │ │ │ │ ├── DoubleType.java
│ │ │ │ │ ├── FloatType.java
│ │ │ │ │ ├── FullFrame.java
│ │ │ │ │ ├── IntegerType.java
│ │ │ │ │ ├── LessZeroFrame.java
│ │ │ │ │ ├── LongType.java
│ │ │ │ │ ├── MoreZeroFrame.java
│ │ │ │ │ ├── NullType.java
│ │ │ │ │ ├── ObjectType.java
│ │ │ │ │ ├── SameOneFrame.java
│ │ │ │ │ ├── SameZeroFrame.java
│ │ │ │ │ ├── StackMapAttribute.java
│ │ │ │ │ ├── StackMapFrame.java
│ │ │ │ │ ├── StackMapTableAttribute.java
│ │ │ │ │ ├── TopType.java
│ │ │ │ │ ├── UninitializedThisType.java
│ │ │ │ │ ├── UninitializedType.java
│ │ │ │ │ ├── VerificationTypeFactory.java
│ │ │ │ │ ├── VerificationType.java
│ │ │ │ │ └── visitor
│ │ │ │ │ ├── StackMapFrameVisitor.java
│ │ │ │ │ └── VerificationTypeVisitor.java
│ │ │ │ ├── SignatureAttribute.java
│ │ │ │ ├── SourceDirAttribute.java
│ │ │ │ ├── SourceFileAttribute.java
│ │ │ │ ├── SyntheticAttribute.java
│ │ │ │ ├── UnknownAttribute.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllAttributeVisitor.java
│ │ │ │ ├── AllBootstrapMethodInfoVisitor.java
│ │ │ │ ├── AllExceptionInfoVisitor.java
│ │ │ │ ├── AllInnerClassesInfoVisitor.java
│ │ │ │ ├── AllLineNumberInfoVisitor.java
│ │ │ │ ├── AttributeCounter.java
│ │ │ │ ├── AttributeNameFilter.java
│ │ │ │ ├── AttributeToClassVisitor.java
│ │ │ │ ├── AttributeVisitor.java
│ │ │ │ ├── BootstrapMethodInfoVisitor.java
│ │ │ │ ├── DebugAttributeVisitor.java
│ │ │ │ ├── ExceptionInfoVisitor.java
│ │ │ │ ├── InnerClassesInfoVisitor.java
│ │ │ │ ├── InstructionToAttributeVisitor.java
│ │ │ │ ├── LineNumberInfoVisitor.java
│ │ │ │ ├── LineNumberRangeFinder.java
│ │ │ │ ├── LocalVariableInfoVisitor.java
│ │ │ │ ├── LocalVariableTypeInfoVisitor.java
│ │ │ │ ├── MultiAttributeVisitor.java
│ │ │ │ ├── NonEmptyAttributeFilter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterInfoVisitor.java
│ │ │ │ ├── RequiredAttributeFilter.java
│ │ │ │ ├── SingleTimeAttributeVisitor.java
│ │ │ │ └── StackSizeComputer.java
│ │ │ ├── ClassConstants.java
│ │ │ ├── ClassPool.java
│ │ │ ├── Clazz.java
│ │ │ ├── constant
│ │ │ │ ├── ClassConstant.java
│ │ │ │ ├── Constant.java
│ │ │ │ ├── DoubleConstant.java
│ │ │ │ ├── DynamicConstant.java
│ │ │ │ ├── FieldrefConstant.java
│ │ │ │ ├── FloatConstant.java
│ │ │ │ ├── IntegerConstant.java
│ │ │ │ ├── InterfaceMethodrefConstant.java
│ │ │ │ ├── InvokeDynamicConstant.java
│ │ │ │ ├── LongConstant.java
│ │ │ │ ├── MethodHandleConstant.java
│ │ │ │ ├── MethodrefConstant.java
│ │ │ │ ├── MethodTypeConstant.java
│ │ │ │ ├── ModuleConstant.java
│ │ │ │ ├── NameAndTypeConstant.java
│ │ │ │ ├── PackageConstant.java
│ │ │ │ ├── PrimitiveArrayConstant.java
│ │ │ │ ├── RefConstant.java
│ │ │ │ ├── StringConstant.java
│ │ │ │ ├── Utf8Constant.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllBootstrapMethodArgumentVisitor.java
│ │ │ │ ├── AllConstantVisitor.java
│ │ │ │ ├── BootstrapMethodHandleTraveler.java
│ │ │ │ ├── ConstantCounter.java
│ │ │ │ ├── ConstantTagFilter.java
│ │ │ │ ├── ConstantVisitor.java
│ │ │ │ ├── ExceptClassConstantFilter.java
│ │ │ │ ├── MethodrefTraveler.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PrimitiveArrayConstantElementVisitor.java
│ │ │ │ ├── PrimitiveArrayConstantVisitor.java
│ │ │ │ └── SuperClassConstantVisitor.java
│ │ │ ├── editor
│ │ │ │ ├── AccessFixer.java
│ │ │ │ ├── AnnotationAdder.java
│ │ │ │ ├── AnnotationsAttributeEditor.java
│ │ │ │ ├── AttributeAdder.java
│ │ │ │ ├── AttributesEditor.java
│ │ │ │ ├── AttributeSorter.java
│ │ │ │ ├── BootstrapMethodInfoAdder.java
│ │ │ │ ├── BootstrapMethodRemapper.java
│ │ │ │ ├── BootstrapMethodsAttributeAdder.java
│ │ │ │ ├── BootstrapMethodsAttributeEditor.java
│ │ │ │ ├── BootstrapMethodsAttributeShrinker.java
│ │ │ │ ├── BridgeMethodFixer.java
│ │ │ │ ├── ClassEditor.java
│ │ │ │ ├── ClassElementSorter.java
│ │ │ │ ├── ClassMemberSorter.java
│ │ │ │ ├── ClassReferenceFixer.java
│ │ │ │ ├── CodeAttributeComposer.java
│ │ │ │ ├── CodeAttributeEditor.java
│ │ │ │ ├── CodeAttributeEditorResetter.java
│ │ │ │ ├── CompactCodeAttributeComposer.java
│ │ │ │ ├── ComparableConstant.java
│ │ │ │ ├── ConstantAdder.java
│ │ │ │ ├── ConstantPoolEditor.java
│ │ │ │ ├── ConstantPoolRemapper.java
│ │ │ │ ├── ConstantPoolShrinker.java
│ │ │ │ ├── ConstantPoolSorter.java
│ │ │ │ ├── ElementValueAdder.java
│ │ │ │ ├── ElementValuesEditor.java
│ │ │ │ ├── ExceptionAdder.java
│ │ │ │ ├── ExceptionInfoAdder.java
│ │ │ │ ├── ExceptionInfoEditor.java
│ │ │ │ ├── ExceptionsAttributeEditor.java
│ │ │ │ ├── InnerClassesAccessFixer.java
│ │ │ │ ├── InnerClassesAttributeEditor.java
│ │ │ │ ├── InstructionAdder.java
│ │ │ │ ├── InstructionSequenceBuilder.java
│ │ │ │ ├── InstructionWriter.java
│ │ │ │ ├── InterfaceAdder.java
│ │ │ │ ├── InterfaceDeleter.java
│ │ │ │ ├── InterfacesEditor.java
│ │ │ │ ├── InterfaceSorter.java
│ │ │ │ ├── LineNumberInfoAdder.java
│ │ │ │ ├── LineNumberTableAttributeEditor.java
│ │ │ │ ├── LineNumberTableAttributeTrimmer.java
│ │ │ │ ├── LocalVariableInfoAdder.java
│ │ │ │ ├── LocalVariableTableAttributeEditor.java
│ │ │ │ ├── LocalVariableTypeInfoAdder.java
│ │ │ │ ├── LocalVariableTypeTableAttributeEditor.java
│ │ │ │ ├── MemberAdder.java
│ │ │ │ ├── MemberReferenceFixer.java
│ │ │ │ ├── MemberRemover.java
│ │ │ │ ├── MethodInvocationFixer.java
│ │ │ │ ├── NameAndTypeShrinker.java
│ │ │ │ ├── NamedAttributeDeleter.java
│ │ │ │ ├── NestMemberAdder.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterAnnotationsAttributeEditor.java
│ │ │ │ ├── ParameterInfoAdder.java
│ │ │ │ ├── SimplifiedClassEditor.java
│ │ │ │ ├── StackSizeUpdater.java
│ │ │ │ ├── SubclassAdder.java
│ │ │ │ ├── SubclassToAdder.java
│ │ │ │ ├── TargetInfoCopier.java
│ │ │ │ ├── TypeAnnotationAdder.java
│ │ │ │ ├── Utf8Shrinker.java
│ │ │ │ ├── VariableCleaner.java
│ │ │ │ ├── VariableEditor.java
│ │ │ │ ├── VariableRemapper.java
│ │ │ │ └── VariableSizeUpdater.java
│ │ │ ├── Field.java
│ │ │ ├── instruction
│ │ │ │ ├── BranchInstruction.java
│ │ │ │ ├── ConstantInstruction.java
│ │ │ │ ├── InstructionConstants.java
│ │ │ │ ├── InstructionFactory.java
│ │ │ │ ├── Instruction.java
│ │ │ │ ├── InstructionUtil.java
│ │ │ │ ├── LookUpSwitchInstruction.java
│ │ │ │ ├── package.html
│ │ │ │ ├── SimpleInstruction.java
│ │ │ │ ├── SwitchInstruction.java
│ │ │ │ ├── TableSwitchInstruction.java
│ │ │ │ ├── VariableInstruction.java
│ │ │ │ └── visitor
│ │ │ │ ├── AllInstructionVisitor.java
│ │ │ │ ├── InstructionConstantVisitor.java
│ │ │ │ ├── InstructionCounter.java
│ │ │ │ ├── InstructionVisitor.java
│ │ │ │ ├── MultiInstructionVisitor.java
│ │ │ │ └── package.html
│ │ │ ├── io
│ │ │ │ ├── LibraryClassReader.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ProgramClassReader.java
│ │ │ │ ├── ProgramClassWriter.java
│ │ │ │ ├── RuntimeDataInput.java
│ │ │ │ └── RuntimeDataOutput.java
│ │ │ ├── JavaConstants.java
│ │ │ ├── LibraryClass.java
│ │ │ ├── LibraryField.java
│ │ │ ├── LibraryMember.java
│ │ │ ├── LibraryMethod.java
│ │ │ ├── Member.java
│ │ │ ├── Method.java
│ │ │ ├── package.html
│ │ │ ├── ProgramClass.java
│ │ │ ├── ProgramField.java
│ │ │ ├── ProgramMember.java
│ │ │ ├── ProgramMethod.java
│ │ │ ├── util
│ │ │ │ ├── AccessUtil.java
│ │ │ │ ├── AllParameterVisitor.java
│ │ │ │ ├── ArrayInitializationMatcher.java
│ │ │ │ ├── ArrayInitializationReplacer.java
│ │ │ │ ├── ClassReferenceInitializer.java
│ │ │ │ ├── ClassSubHierarchyInitializer.java
│ │ │ │ ├── ClassSuperHierarchyInitializer.java
│ │ │ │ ├── ClassUtil.java
│ │ │ │ ├── DescriptorClassEnumeration.java
│ │ │ │ ├── DynamicClassReferenceInitializer.java
│ │ │ │ ├── DynamicMemberReferenceInitializer.java
│ │ │ │ ├── EnumFieldReferenceInitializer.java
│ │ │ │ ├── ExternalTypeEnumeration.java
│ │ │ │ ├── InstructionSequenceMatcher.java
│ │ │ │ ├── InternalTypeEnumeration.java
│ │ │ │ ├── MemberFinder.java
│ │ │ │ ├── MethodLinker.java
│ │ │ │ ├── NestHostFinder.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PrimitiveArrayConstantReplacer.java
│ │ │ │ ├── SimplifiedVisitor.java
│ │ │ │ ├── StringReferenceInitializer.java
│ │ │ │ ├── StringSharer.java
│ │ │ │ └── WarningPrinter.java
│ │ │ ├── visitor
│ │ │ │ ├── AllClassVisitor.java
│ │ │ │ ├── AllFieldVisitor.java
│ │ │ │ ├── AllMemberVisitor.java
│ │ │ │ ├── AllMethodVisitor.java
│ │ │ │ ├── BottomClassFilter.java
│ │ │ │ ├── ClassAccessFilter.java
│ │ │ │ ├── ClassCleaner.java
│ │ │ │ ├── ClassCollector.java
│ │ │ │ ├── ClassCounter.java
│ │ │ │ ├── ClassHierarchyTraveler.java
│ │ │ │ ├── ClassNameFilter.java
│ │ │ │ ├── ClassPoolClassVisitor.java
│ │ │ │ ├── ClassPoolFiller.java
│ │ │ │ ├── ClassPoolRemover.java
│ │ │ │ ├── ClassPoolVisitor.java
│ │ │ │ ├── ClassPresenceFilter.java
│ │ │ │ ├── ClassPrinter.java
│ │ │ │ ├── ClassVersionFilter.java
│ │ │ │ ├── ClassVersionSetter.java
│ │ │ │ ├── ClassVisitor.java
│ │ │ │ ├── ConcreteClassDownTraveler.java
│ │ │ │ ├── ConstructorMethodFilter.java
│ │ │ │ ├── DotClassClassVisitor.java
│ │ │ │ ├── DynamicReturnedClassVisitor.java
│ │ │ │ ├── ExceptClassesFilter.java
│ │ │ │ ├── ExceptClassFilter.java
│ │ │ │ ├── ExceptionCounter.java
│ │ │ │ ├── ExceptionExcludedOffsetFilter.java
│ │ │ │ ├── ExceptionHandlerConstantVisitor.java
│ │ │ │ ├── ExceptionHandlerFilter.java
│ │ │ │ ├── ExceptionOffsetFilter.java
│ │ │ │ ├── ExceptionRangeFilter.java
│ │ │ │ ├── FunctionalInterfaceFilter.java
│ │ │ │ ├── ImplementedClassConstantFilter.java
│ │ │ │ ├── ImplementedClassFilter.java
│ │ │ │ ├── ImplementingClassConstantFilter.java
│ │ │ │ ├── InitializerMethodFilter.java
│ │ │ │ ├── LibraryClassFilter.java
│ │ │ │ ├── LibraryMemberFilter.java
│ │ │ │ ├── MemberAccessFilter.java
│ │ │ │ ├── MemberAccessFlagCleaner.java
│ │ │ │ ├── MemberAccessFlagSetter.java
│ │ │ │ ├── MemberAccessSetter.java
│ │ │ │ ├── MemberClassAccessFilter.java
│ │ │ │ ├── MemberCollector.java
│ │ │ │ ├── MemberCounter.java
│ │ │ │ ├── MemberDescriptorFilter.java
│ │ │ │ ├── MemberDescriptorReferencedClassVisitor.java
│ │ │ │ ├── MemberNameFilter.java
│ │ │ │ ├── MemberToClassVisitor.java
│ │ │ │ ├── MemberVisitor.java
│ │ │ │ ├── MethodCollector.java
│ │ │ │ ├── MethodImplementationFilter.java
│ │ │ │ ├── MethodImplementationTraveler.java
│ │ │ │ ├── MultiClassPoolVisitor.java
│ │ │ │ ├── MultiClassVisitor.java
│ │ │ │ ├── MultiConstantVisitor.java
│ │ │ │ ├── MultiMemberVisitor.java
│ │ │ │ ├── NamedClassVisitor.java
│ │ │ │ ├── NamedFieldVisitor.java
│ │ │ │ ├── NamedMethodVisitor.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParallelAllClassVisitor.java
│ │ │ │ ├── ParameterVisitor.java
│ │ │ │ ├── ProgramClassFilter.java
│ │ │ │ ├── ProgramMemberFilter.java
│ │ │ │ ├── ReferencedClassVisitor.java
│ │ │ │ ├── ReferencedMemberVisitor.java
│ │ │ │ ├── SignatureAttributeReferencedClassVisitor.java
│ │ │ │ ├── SimilarMemberVisitor.java
│ │ │ │ ├── SimpleClassPrinter.java
│ │ │ │ ├── SingleTimeClassVisitor.java
│ │ │ │ ├── SubclassFilter.java
│ │ │ │ ├── SubclassTraveler.java
│ │ │ │ ├── VariableClassVisitor.java
│ │ │ │ ├── VariableMemberVisitor.java
│ │ │ │ └── VisitorInfoSetter.java
│ │ │ └── VisitorAccepter.java
│ │ ├── ClassMemberChecker.java
│ │ ├── ClassPathEntry.java
│ │ ├── ClassPath.java
│ │ ├── ClassSpecification.java
│ │ ├── ClassSpecificationVisitorFactory.java
│ │ ├── configuration
│ │ │ ├── ConfigurationLogger.java
│ │ │ ├── ConfigurationLoggingAdder.java
│ │ │ ├── ConfigurationLoggingInstructionSequenceConstants.java
│ │ │ ├── ConfigurationLoggingInstructionSequenceReplacer.java
│ │ │ └── ConfigurationLoggingInstructionSequencesReplacer.java
│ │ ├── ConfigurationChecker.java
│ │ ├── ConfigurationConstants.java
│ │ ├── Configuration.java
│ │ ├── ConfigurationParser.java
│ │ ├── ConfigurationWriter.java
│ │ ├── DataEntryReaderFactory.java
│ │ ├── DataEntryWriterFactory.java
│ │ ├── DescriptorKeepChecker.java
│ │ ├── DuplicateClassPrinter.java
│ │ ├── evaluation
│ │ │ ├── AssumeClassSpecificationVisitorFactory.java
│ │ │ ├── BasicBranchUnit.java
│ │ │ ├── BasicInvocationUnit.java
│ │ │ ├── BranchUnit.java
│ │ │ ├── ClassConstantValueFactory.java
│ │ │ ├── ConstantValueFactory.java
│ │ │ ├── InvocationUnit.java
│ │ │ ├── Processor.java
│ │ │ ├── SimplifiedInvocationUnit.java
│ │ │ ├── Stack.java
│ │ │ ├── TracedStack.java
│ │ │ ├── TracedVariables.java
│ │ │ ├── value
│ │ │ │ ├── ArrayReferenceValueFactory.java
│ │ │ │ ├── ArrayReferenceValue.java
│ │ │ │ ├── BasicValueFactory.java
│ │ │ │ ├── Category1Value.java
│ │ │ │ ├── Category2Value.java
│ │ │ │ ├── ComparisonValue.java
│ │ │ │ ├── CompositeDoubleValue.java
│ │ │ │ ├── CompositeFloatValue.java
│ │ │ │ ├── CompositeIntegerValue.java
│ │ │ │ ├── CompositeLongValue.java
│ │ │ │ ├── ConvertedByteValue.java
│ │ │ │ ├── ConvertedCharacterValue.java
│ │ │ │ ├── ConvertedDoubleValue.java
│ │ │ │ ├── ConvertedFloatValue.java
│ │ │ │ ├── ConvertedIntegerValue.java
│ │ │ │ ├── ConvertedLongValue.java
│ │ │ │ ├── ConvertedShortValue.java
│ │ │ │ ├── DetailedArrayReferenceValue.java
│ │ │ │ ├── DetailedArrayValueFactory.java
│ │ │ │ ├── DoubleValue.java
│ │ │ │ ├── FloatValue.java
│ │ │ │ ├── IdentifiedArrayReferenceValue.java
│ │ │ │ ├── IdentifiedDoubleValue.java
│ │ │ │ ├── IdentifiedFloatValue.java
│ │ │ │ ├── IdentifiedIntegerValue.java
│ │ │ │ ├── IdentifiedLongValue.java
│ │ │ │ ├── IdentifiedReferenceValue.java
│ │ │ │ ├── IdentifiedValueFactory.java
│ │ │ │ ├── InitialValueFactory.java
│ │ │ │ ├── InstructionOffsetValue.java
│ │ │ │ ├── IntegerValue.java
│ │ │ │ ├── LongValue.java
│ │ │ │ ├── NegatedDoubleValue.java
│ │ │ │ ├── NegatedFloatValue.java
│ │ │ │ ├── NegatedIntegerValue.java
│ │ │ │ ├── NegatedLongValue.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParticularDoubleValue.java
│ │ │ │ ├── ParticularFloatValue.java
│ │ │ │ ├── ParticularIntegerValue.java
│ │ │ │ ├── ParticularLongValue.java
│ │ │ │ ├── ParticularValueFactory.java
│ │ │ │ ├── PrimitiveTypedReferenceValueFactory.java
│ │ │ │ ├── RangeIntegerValue.java
│ │ │ │ ├── RangeValueFactory.java
│ │ │ │ ├── ReferenceValue.java
│ │ │ │ ├── SpecificDoubleValue.java
│ │ │ │ ├── SpecificFloatValue.java
│ │ │ │ ├── SpecificIntegerValue.java
│ │ │ │ ├── SpecificLongValue.java
│ │ │ │ ├── TopValue.java
│ │ │ │ ├── TracedReferenceValue.java
│ │ │ │ ├── TracingValue.java
│ │ │ │ ├── TypedReferenceValueFactory.java
│ │ │ │ ├── TypedReferenceValue.java
│ │ │ │ ├── UnknownDoubleValue.java
│ │ │ │ ├── UnknownFloatValue.java
│ │ │ │ ├── UnknownIntegerValue.java
│ │ │ │ ├── UnknownLongValue.java
│ │ │ │ ├── UnknownReferenceValue.java
│ │ │ │ ├── ValueFactory.java
│ │ │ │ └── Value.java
│ │ │ └── Variables.java
│ │ ├── FileWordReader.java
│ │ ├── FullyQualifiedClassNameChecker.java
│ │ ├── GetAnnotationChecker.java
│ │ ├── GetEnclosingClassChecker.java
│ │ ├── GetEnclosingMethodChecker.java
│ │ ├── GetSignatureChecker.java
│ │ ├── GPL.java
│ │ ├── Initializer.java
│ │ ├── InputReader.java
│ │ ├── io
│ │ │ ├── CascadingDataEntryWriter.java
│ │ │ ├── ClassDataEntryWriter.java
│ │ │ ├── ClassFilter.java
│ │ │ ├── ClassMapDataEntryWriter.java
│ │ │ ├── ClassPathDataEntry.java
│ │ │ ├── ClassReader.java
│ │ │ ├── DataEntryClassWriter.java
│ │ │ ├── DataEntryCopier.java
│ │ │ ├── DataEntryDirectoryFilter.java
│ │ │ ├── DataEntryFilter.java
│ │ │ ├── DataEntry.java
│ │ │ ├── DataEntryNameFilter.java
│ │ │ ├── DataEntryParentFilter.java
│ │ │ ├── DataEntryPump.java
│ │ │ ├── DataEntryReader.java
│ │ │ ├── DataEntryRewriter.java
│ │ │ ├── DataEntryWriter.java
│ │ │ ├── DirectoryFilter.java
│ │ │ ├── DirectoryPump.java
│ │ │ ├── DirectoryWriter.java
│ │ │ ├── ExtraDataEntryWriter.java
│ │ │ ├── FileDataEntry.java
│ │ │ ├── FilteredDataEntryReader.java
│ │ │ ├── FilteredDataEntryWriter.java
│ │ │ ├── Finisher.java
│ │ │ ├── IdleRewriter.java
│ │ │ ├── JarReader.java
│ │ │ ├── JarWriter.java
│ │ │ ├── ManifestRewriter.java
│ │ │ ├── NameFilteredDataEntryWriter.java
│ │ │ ├── NameFilter.java
│ │ │ ├── package.html
│ │ │ ├── ParentDataEntryWriter.java
│ │ │ ├── PrefixAddingDataEntryWriter.java
│ │ │ ├── PrefixStrippingDataEntryReader.java
│ │ │ ├── RenamedDataEntry.java
│ │ │ ├── RenamedDataEntryReader.java
│ │ │ ├── RenamedDataEntryWriter.java
│ │ │ ├── RenamedParentDataEntryWriter.java
│ │ │ ├── WrappedDataEntry.java
│ │ │ ├── ZipDataEntry.java
│ │ │ ├── ZipFileDataEntry.java
│ │ │ └── ZipOutput.java
│ │ ├── KeepClassMemberChecker.java
│ │ ├── KeepClassSpecification.java
│ │ ├── KeepClassSpecificationVisitorFactory.java
│ │ ├── LibraryKeepChecker.java
│ │ ├── LineWordReader.java
│ │ ├── MemberSpecification.java
│ │ ├── MemberValueSpecification.java
│ │ ├── obfuscate
│ │ │ ├── AttributeShrinker.java
│ │ │ ├── AttributeUsageMarker.java
│ │ │ ├── ClassObfuscator.java
│ │ │ ├── ClassRenamer.java
│ │ │ ├── DictionaryNameFactory.java
│ │ │ ├── MapCleaner.java
│ │ │ ├── MappingKeeper.java
│ │ │ ├── MappingPrinter.java
│ │ │ ├── MappingProcessor.java
│ │ │ ├── MappingReader.java
│ │ │ ├── MemberNameCleaner.java
│ │ │ ├── MemberNameCollector.java
│ │ │ ├── MemberNameConflictFixer.java
│ │ │ ├── MemberNameFilter.java
│ │ │ ├── MemberObfuscator.java
│ │ │ ├── MemberSpecialNameFilter.java
│ │ │ ├── MultiMappingProcessor.java
│ │ │ ├── NameFactory.java
│ │ │ ├── NameFactoryResetter.java
│ │ │ ├── NameMarker.java
│ │ │ ├── NumericNameFactory.java
│ │ │ ├── Obfuscator.java
│ │ │ ├── package.html
│ │ │ ├── ParameterNameMarker.java
│ │ │ ├── PrefixingNameFactory.java
│ │ │ ├── RenamedFlagSetter.java
│ │ │ ├── SimpleNameFactory.java
│ │ │ ├── SourceFileRenamer.java
│ │ │ ├── SpecialNameFactory.java
│ │ │ └── UniqueMemberNameFactory.java
│ │ ├── optimize
│ │ │ ├── BootstrapMethodArgumentShrinker.java
│ │ │ ├── ChangedCodePrinter.java
│ │ │ ├── ConstantMemberFilter.java
│ │ │ ├── ConstantParameterFilter.java
│ │ │ ├── DuplicateInitializerFixer.java
│ │ │ ├── DuplicateInitializerInvocationFixer.java
│ │ │ ├── evaluation
│ │ │ │ ├── EvaluationShrinker.java
│ │ │ │ ├── EvaluationSimplifier.java
│ │ │ │ ├── InitializationFinder.java
│ │ │ │ ├── InstructionUsageMarker.java
│ │ │ │ ├── LivenessAnalyzer.java
│ │ │ │ ├── LoadingInvocationUnit.java
│ │ │ │ ├── package.html
│ │ │ │ ├── ParameterTracingInvocationUnit.java
│ │ │ │ ├── PartialEvaluator.java
│ │ │ │ ├── ReferenceTracingInvocationUnit.java
│ │ │ │ ├── ReferenceTracingValueFactory.java
│ │ │ │ ├── SimpleEnumArrayPropagator.java
│ │ │ │ ├── SimpleEnumClassChecker.java
│ │ │ │ ├── SimpleEnumClassSimplifier.java
│ │ │ │ ├── SimpleEnumDescriptorSimplifier.java
│ │ │ │ ├── SimpleEnumUseChecker.java
│ │ │ │ ├── SimpleEnumUseSimplifier.java
│ │ │ │ ├── StoringInvocationUnit.java
│ │ │ │ ├── TracedBranchUnit.java
│ │ │ │ └── VariableOptimizer.java
│ │ │ ├── gson
│ │ │ │ ├── DuplicateJsonFieldNameChecker.java
│ │ │ │ ├── FieldSignatureCollector.java
│ │ │ │ ├── GsonAnnotationCleaner.java
│ │ │ │ ├── GsonBuilderInvocationFinder.java
│ │ │ │ ├── GsonClassConstants.java
│ │ │ │ ├── GsonConstructorPatcher.java
│ │ │ │ ├── GsonContext.java
│ │ │ │ ├── GsonDeserializationInvocationFinder.java
│ │ │ │ ├── GsonDeserializationOptimizer.java
│ │ │ │ ├── GsonDomainClassFinder.java
│ │ │ │ ├── GsonInstrumentationAdder.java
│ │ │ │ ├── GsonOptimizer.java
│ │ │ │ ├── GsonRuntimeSettings.java
│ │ │ │ ├── GsonSerializationInvocationFinder.java
│ │ │ │ ├── GsonSerializationOptimizer.java
│ │ │ │ ├── _GsonUtil.java
│ │ │ │ ├── InlineDeserializer.java
│ │ │ │ ├── InlineDeserializers.java
│ │ │ │ ├── InlineSerializer.java
│ │ │ │ ├── InlineSerializers.java
│ │ │ │ ├── LocalOrAnonymousClassChecker.java
│ │ │ │ ├── MarkedAnnotationDeleter.java
│ │ │ │ ├── OptimizedClassConstants.java
│ │ │ │ ├── OptimizedJsonFieldCollector.java
│ │ │ │ ├── OptimizedJsonFieldVisitor.java
│ │ │ │ ├── OptimizedJsonInfo.java
│ │ │ │ ├── OptimizedJsonReaderImplInitializer.java
│ │ │ │ ├── _OptimizedJsonReaderImpl.java
│ │ │ │ ├── _OptimizedJsonReader.java
│ │ │ │ ├── OptimizedJsonWriterImplInitializer.java
│ │ │ │ ├── _OptimizedJsonWriterImpl.java
│ │ │ │ ├── _OptimizedJsonWriter.java
│ │ │ │ ├── OptimizedTypeAdapterAdder.java
│ │ │ │ ├── OptimizedTypeAdapterFactoryInitializer.java
│ │ │ │ ├── _OptimizedTypeAdapterFactory.java
│ │ │ │ ├── _OptimizedTypeAdapterImpl.java
│ │ │ │ ├── OptimizedTypeAdapterInitializer.java
│ │ │ │ ├── _OptimizedTypeAdapter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── TypeArgumentFinder.java
│ │ │ │ ├── TypeParameterClassChecker.java
│ │ │ │ └── TypeTokenClassBuilder.java
│ │ │ ├── info
│ │ │ │ ├── AccessMethodMarker.java
│ │ │ │ ├── BackwardBranchMarker.java
│ │ │ │ ├── CatchExceptionMarker.java
│ │ │ │ ├── CaughtClassFilter.java
│ │ │ │ ├── CaughtClassMarker.java
│ │ │ │ ├── ClassOptimizationInfo.java
│ │ │ │ ├── CodeAttributeOptimizationInfo.java
│ │ │ │ ├── DotClassFilter.java
│ │ │ │ ├── DotClassMarker.java
│ │ │ │ ├── DynamicInvocationMarker.java
│ │ │ │ ├── EscapingClassFilter.java
│ │ │ │ ├── EscapingClassMarker.java
│ │ │ │ ├── ExceptionInstructionChecker.java
│ │ │ │ ├── FieldOptimizationInfo.java
│ │ │ │ ├── FinalFieldAssignmentMarker.java
│ │ │ │ ├── InstanceofClassFilter.java
│ │ │ │ ├── InstanceofClassMarker.java
│ │ │ │ ├── InstantiationClassFilter.java
│ │ │ │ ├── InstantiationClassMarker.java
│ │ │ │ ├── MethodInvocationMarker.java
│ │ │ │ ├── MethodOptimizationInfo.java
│ │ │ │ ├── MutableBoolean.java
│ │ │ │ ├── NoEscapingParametersMethodMarker.java
│ │ │ │ ├── NoExternalReturnValuesMethodMarker.java
│ │ │ │ ├── NoExternalSideEffectMethodMarker.java
│ │ │ │ ├── NonEmptyStackReturnMarker.java
│ │ │ │ ├── NonPrivateMemberMarker.java
│ │ │ │ ├── NoSideEffectClassMarker.java
│ │ │ │ ├── NoSideEffectMethodMarker.java
│ │ │ │ ├── OptimizationCodeAttributeFilter.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PackageVisibleMemberContainingClassMarker.java
│ │ │ │ ├── PackageVisibleMemberInvokingClassMarker.java
│ │ │ │ ├── ParameterEscapedMarker.java
│ │ │ │ ├── ParameterEscapeMarker.java
│ │ │ │ ├── ParameterUsageMarker.java
│ │ │ │ ├── ProgramClassOptimizationInfo.java
│ │ │ │ ├── ProgramClassOptimizationInfoSetter.java
│ │ │ │ ├── ProgramFieldOptimizationInfo.java
│ │ │ │ ├── ProgramMemberOptimizationInfoSetter.java
│ │ │ │ ├── ProgramMethodOptimizationInfo.java
│ │ │ │ ├── ReadWriteFieldMarker.java
│ │ │ │ ├── ReferenceEscapeChecker.java
│ │ │ │ ├── RepeatedClassPoolVisitor.java
│ │ │ │ ├── SideEffectClassChecker.java
│ │ │ │ ├── SideEffectClassFilter.java
│ │ │ │ ├── SideEffectClassMarker.java
│ │ │ │ ├── SideEffectInstructionChecker.java
│ │ │ │ ├── SideEffectMethodFilter.java
│ │ │ │ ├── SideEffectMethodMarker.java
│ │ │ │ ├── SimpleEnumFilter.java
│ │ │ │ ├── SimpleEnumMarker.java
│ │ │ │ ├── SuperInvocationMarker.java
│ │ │ │ ├── SynchronizedBlockMethodMarker.java
│ │ │ │ ├── UnusedParameterMethodFilter.java
│ │ │ │ ├── UnusedParameterOptimizationInfoUpdater.java
│ │ │ │ ├── UsedParameterFilter.java
│ │ │ │ ├── VariableUsageMarker.java
│ │ │ │ └── WrapperClassMarker.java
│ │ │ ├── KeepMarker.java
│ │ │ ├── KeptClassFilter.java
│ │ │ ├── KeptMemberFilter.java
│ │ │ ├── MemberDescriptorSpecializer.java
│ │ │ ├── MethodDescriptorShrinker.java
│ │ │ ├── MethodStaticizer.java
│ │ │ ├── OptimizationInfoClassFilter.java
│ │ │ ├── OptimizationInfoMemberFilter.java
│ │ │ ├── Optimizer.java
│ │ │ ├── package.html
│ │ │ ├── ParameterShrinker.java
│ │ │ ├── peephole
│ │ │ │ ├── BranchTargetFinder.java
│ │ │ │ ├── ClassFinalizer.java
│ │ │ │ ├── ClassMerger.java
│ │ │ │ ├── GotoCommonCodeReplacer.java
│ │ │ │ ├── GotoGotoReplacer.java
│ │ │ │ ├── GotoReturnReplacer.java
│ │ │ │ ├── HorizontalClassMerger.java
│ │ │ │ ├── InstructionSequenceConstants.java
│ │ │ │ ├── InstructionSequenceReplacer.java
│ │ │ │ ├── InstructionSequencesReplacer.java
│ │ │ │ ├── LineNumberLinearizer.java
│ │ │ │ ├── MemberPrivatizer.java
│ │ │ │ ├── MethodFinalizer.java
│ │ │ │ ├── MethodInliner.java
│ │ │ │ ├── NopRemover.java
│ │ │ │ ├── package.html
│ │ │ │ ├── PeepholeOptimizer.java
│ │ │ │ ├── ReachableCodeMarker.java
│ │ │ │ ├── RetargetedClassFilter.java
│ │ │ │ ├── RetargetedInnerClassAttributeRemover.java
│ │ │ │ ├── TargetClassChanger.java
│ │ │ │ ├── UnreachableCodeRemover.java
│ │ │ │ ├── UnreachableExceptionRemover.java
│ │ │ │ ├── VariableShrinker.java
│ │ │ │ ├── VerticalClassMerger.java
│ │ │ │ ├── WildcardConstantFilter.java
│ │ │ │ ├── WrapperClassMerger.java
│ │ │ │ └── WrapperClassUseSimplifier.java
│ │ │ ├── TailRecursionSimplifier.java
│ │ │ └── WriteOnlyFieldFilter.java
│ │ ├── OutputWriter.java
│ │ ├── package.html
│ │ ├── ParseException.java
│ │ ├── preverify
│ │ │ ├── CodePreverifier.java
│ │ │ ├── CodeSubroutineInliner.java
│ │ │ ├── Preverifier.java
│ │ │ └── SubroutineInliner.java
│ │ ├── ProGuard.java
│ │ ├── SeedPrinter.java
│ │ ├── shrink
│ │ │ ├── AnnotationUsageMarker.java
│ │ │ ├── ClassShrinker.java
│ │ │ ├── InnerUsageMarker.java
│ │ │ ├── InterfaceUsageMarker.java
│ │ │ ├── LocalVariableTypeUsageMarker.java
│ │ │ ├── NestUsageMarker.java
│ │ │ ├── package.html
│ │ │ ├── ShortestUsageMarker.java
│ │ │ ├── ShortestUsageMark.java
│ │ │ ├── ShortestUsagePrinter.java
│ │ │ ├── Shrinker.java
│ │ │ ├── UsageMarker.java
│ │ │ ├── UsagePrinter.java
│ │ │ ├── UsedClassFilter.java
│ │ │ └── UsedMemberFilter.java
│ │ ├── SubclassedClassFilter.java
│ │ ├── Targeter.java
│ │ ├── UpToDateChecker.java
│ │ ├── util
│ │ │ ├── AndMatcher.java
│ │ │ ├── ArrayUtil.java
│ │ │ ├── ClassNameParser.java
│ │ │ ├── CollectionMatcher.java
│ │ │ ├── ConstantMatcher.java
│ │ │ ├── Counter.java
│ │ │ ├── EmptyStringMatcher.java
│ │ │ ├── ExtensionMatcher.java
│ │ │ ├── FileNameParser.java
│ │ │ ├── FixedStringMatcher.java
│ │ │ ├── ListMatcher.java
│ │ │ ├── ListParser.java
│ │ │ ├── ListUtil.java
│ │ │ ├── MatchedStringMatcher.java
│ │ │ ├── MultiValueMap.java
│ │ │ ├── NameParser.java
│ │ │ ├── NotMatcher.java
│ │ │ ├── ObjectUtil.java
│ │ │ ├── OrMatcher.java
│ │ │ ├── package.html
│ │ │ ├── PrintWriterUtil.java
│ │ │ ├── SettableMatcher.java
│ │ │ ├── StringMatcher.java
│ │ │ ├── StringParser.java
│ │ │ ├── StringTransformer.java
│ │ │ ├── StringUtil.java
│ │ │ └── VariableStringMatcher.java
│ │ └── WordReader.java
│ ├── docs
│ │ ├── android_small.png
│ │ ├── dexguard.png
│ │ ├── downloads.md
│ │ ├── FAQ.md
│ │ ├── feedback.md
│ │ ├── fonts
│ │ │ ├── OpenSans-Bold.eot
│ │ │ ├── OpenSans-Bold.svg
│ │ │ ├── OpenSans-Bold.ttf
│ │ │ ├── OpenSans-Bold.woff
│ │ │ ├── OpenSans-Italic.eot
│ │ │ ├── OpenSans-Italic.svg
│ │ │ ├── OpenSans-Italic.ttf
│ │ │ ├── OpenSans-Italic.woff
│ │ │ ├── OpenSans-Regular.eot
│ │ │ ├── OpenSans-Regular.svg
│ │ │ ├── OpenSans-Regular.ttf
│ │ │ └── OpenSans-Regular.woff
│ │ ├── GPL_exception.md
│ │ ├── GPL.md
│ │ ├── guardsquare.png
│ │ ├── index.md
│ │ ├── license.md
│ │ ├── manual
│ │ │ ├── ant.md
│ │ │ ├── attention.gif
│ │ │ ├── attributes.md
│ │ │ ├── examples.md
│ │ │ ├── gradle.md
│ │ │ ├── gradleplugin.md
│ │ │ ├── gui.md
│ │ │ ├── index.md
│ │ │ ├── limitations.md
│ │ │ ├── optimizations.md
│ │ │ ├── refcard.md
│ │ │ ├── retrace
│ │ │ │ ├── examples.md
│ │ │ │ ├── index.md
│ │ │ │ ├── mapping.md
│ │ │ │ └── usage.md
│ │ │ ├── style.css
│ │ │ ├── troubleshooting.md
│ │ │ ├── usage.md
│ │ │ └── wtk.md
│ │ ├── mkdocs.yml
│ │ ├── NOTICE_Gson
│ │ ├── proguard.appdata.xml
│ │ ├── proguard.png
│ │ ├── results.md
│ │ └── style.css
│ ├── examples
│ │ ├── android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── debug.keystore
│ │ │ ├── gradle.properties
│ │ │ ├── proguard-project.txt
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── example
│ │ │ └── HelloWorldActivity.java
│ │ ├── android-plugin
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── debug.keystore
│ │ │ ├── proguard-project.txt
│ │ │ ├── res
│ │ │ │ ├── drawable
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── src
│ │ │ └── com
│ │ │ └── example
│ │ │ └── HelloWorldActivity.java
│ │ ├── annotations
│ │ │ ├── examples
│ │ │ │ ├── Applet.java
│ │ │ │ ├── Application.java
│ │ │ │ ├── Bean.java
│ │ │ │ └── NativeCallBack.java
│ │ │ └── examples.pro
│ │ ├── ant
│ │ │ ├── applets.xml
│ │ │ ├── applications1.xml
│ │ │ ├── applications2.xml
│ │ │ ├── applications3.xml
│ │ │ ├── library.xml
│ │ │ ├── midlets.xml
│ │ │ ├── proguard.xml
│ │ │ └── servlets.xml
│ │ ├── dictionaries
│ │ │ ├── compact.txt
│ │ │ ├── keywords.txt
│ │ │ ├── shakespeare.txt
│ │ │ └── windows.txt
│ │ ├── gradle
│ │ │ ├── android.gradle
│ │ │ ├── applets.gradle
│ │ │ ├── applications.gradle
│ │ │ ├── library.gradle
│ │ │ ├── midlets.gradle
│ │ │ ├── proguardall.gradle
│ │ │ ├── proguard.gradle
│ │ │ ├── proguardgui.gradle
│ │ │ ├── retrace.gradle
│ │ │ ├── scala.gradle
│ │ │ └── servlets.gradle
│ │ └── standalone
│ │ ├── android.pro
│ │ ├── applets.pro
│ │ ├── applications.pro
│ │ ├── library.pro
│ │ ├── midlets.pro
│ │ ├── proguardall.pro
│ │ ├── proguardgui.pro
│ │ ├── proguard.pro
│ │ ├── retrace.pro
│ │ ├── scala.pro
│ │ └── servlets.pro
│ ├── gradle
│ │ ├── ant.properties
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── gradle-plugins
│ │ │ └── proguard.properties
│ │ └── proguard
│ │ └── gradle
│ │ ├── GradleUtil.groovy
│ │ ├── proguard-android-common.pro
│ │ ├── proguard-android-debug.pro
│ │ ├── proguard-android-release-optimize.pro
│ │ ├── proguard-android-release.pro
│ │ ├── ProGuardConvention.groovy
│ │ ├── ProGuardExtension.groovy
│ │ ├── ProGuardPlugin.groovy
│ │ ├── ProGuardTask.java
│ │ └── ProGuardTransform.groovy
│ ├── gui
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ └── gui
│ │ ├── arrow.gif
│ │ ├── boilerplate.pro
│ │ ├── ClassPathPanel.java
│ │ ├── ClassSpecificationDialog.java
│ │ ├── ClassSpecificationsPanel.java
│ │ ├── default.pro
│ │ ├── ExtensionFileFilter.java
│ │ ├── FilterBuilder.java
│ │ ├── FilterDialog.java
│ │ ├── GUIResources.java
│ │ ├── GUIResources.properties
│ │ ├── KeepSpecificationsPanel.java
│ │ ├── ListPanel.java
│ │ ├── MemberSpecificationDialog.java
│ │ ├── MemberSpecificationsPanel.java
│ │ ├── MessageDialogRunnable.java
│ │ ├── OptimizationsDialog.java
│ │ ├── package.html
│ │ ├── ProGuardGUI.java
│ │ ├── ProGuardRunnable.java
│ │ ├── ReTraceRunnable.java
│ │ ├── splash
│ │ │ ├── BufferedSprite.java
│ │ │ ├── CircleSprite.java
│ │ │ ├── ClipSprite.java
│ │ │ ├── ColorSprite.java
│ │ │ ├── CompositeSprite.java
│ │ │ ├── ConstantColor.java
│ │ │ ├── ConstantDouble.java
│ │ │ ├── ConstantFont.java
│ │ │ ├── ConstantInt.java
│ │ │ ├── ConstantString.java
│ │ │ ├── ConstantTiming.java
│ │ │ ├── FontSprite.java
│ │ │ ├── ImageSprite.java
│ │ │ ├── LinearColor.java
│ │ │ ├── LinearDouble.java
│ │ │ ├── LinearInt.java
│ │ │ ├── LinearTiming.java
│ │ │ ├── OverrideGraphics2D.java
│ │ │ ├── package.html
│ │ │ ├── RectangleSprite.java
│ │ │ ├── SawToothTiming.java
│ │ │ ├── ShadowedSprite.java
│ │ │ ├── SineTiming.java
│ │ │ ├── SmoothTiming.java
│ │ │ ├── SplashPanel.java
│ │ │ ├── Sprite.java
│ │ │ ├── TextSprite.java
│ │ │ ├── TimeSwitchSprite.java
│ │ │ ├── Timing.java
│ │ │ ├── TypeWriterString.java
│ │ │ ├── VariableColor.java
│ │ │ ├── VariableDouble.java
│ │ │ ├── VariableFont.java
│ │ │ ├── VariableInt.java
│ │ │ ├── VariableSizeFont.java
│ │ │ └── VariableString.java
│ │ ├── SwingUtil.java
│ │ ├── TabbedPane.java
│ │ ├── TextAreaOutputStream.java
│ │ ├── TextAreaWriter.java
│ │ └── vtitle.png
│ ├── lib
│ │ ├── annotations.jar
│ │ ├── gson-2.8.5.jar
│ │ ├── proguardgui.jar
│ │ ├── proguard.jar
│ │ └── retrace.jar
│ ├── LICENSE_exception.md
│ ├── LICENSE.md
│ ├── README.md
│ ├── retrace
│ │ ├── build.gradle
│ │ ├── build.sh
│ │ ├── build.xml
│ │ ├── gradle.properties
│ │ ├── makefile
│ │ ├── pom.xml
│ │ ├── settings.gradle
│ │ └── src
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── proguard
│ │ └── retrace
│ │ ├── FrameInfo.java
│ │ ├── FramePattern.java
│ │ ├── FrameRemapper.java
│ │ ├── package.html
│ │ └── ReTrace.java
│ └── wtk
│ ├── ant.properties
│ ├── build.gradle
│ ├── build.sh
│ ├── build.xml
│ ├── gradle.properties
│ ├── makefile
│ ├── pom.xml
│ ├── settings.gradle
│ └── src
│ └── proguard
│ └── wtk
│ ├── default.pro
│ ├── package.html
│ └── ProGuardObfuscator.java
└── 使用教程.png
96 directories, 1085 files
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论