类 ClassObfuscator
- java.lang.Object
-
- proguard.obfuscate.ClassObfuscator
-
- 所有已实现的接口:
proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.attribute.visitor.InnerClassesInfoVisitor,proguard.classfile.constant.visitor.ConstantVisitor,proguard.classfile.visitor.ClassVisitor
public class ClassObfuscator extends java.lang.Object implements proguard.classfile.visitor.ClassVisitor, proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.attribute.visitor.InnerClassesInfoVisitor, proguard.classfile.constant.visitor.ConstantVisitorThisClassVisitorcomes up with obfuscated names for the classes it visits, and for their class members. The actual renaming is done afterward.- 另请参阅:
ClassRenamer
-
-
构造器概要
构造器 构造器 说明 ClassObfuscator(proguard.classfile.ClassPool programClassPool, proguard.classfile.ClassPool libraryClassPool, DictionaryNameFactory classNameFactory, DictionaryNameFactory packageNameFactory, boolean useMixedCaseClassNames, java.util.List keepPackageNames, java.lang.String flattenPackageHierarchy, java.lang.String repackageClasses, boolean allowAccessModification, boolean adaptKotlin)Creates a new ClassObfuscator.
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static booleanhasOriginalClassName(proguard.classfile.Clazz clazz)Returns whether the class name of the given class has changed.static java.lang.StringnewClassName(proguard.classfile.Clazz clazz)Retrieves the new name of the given class.static voidsetNewClassName(proguard.classfile.Clazz clazz, java.lang.String name)Assigns a new name to the given class.voidvisitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)voidvisitAnyClass(proguard.classfile.Clazz clazz)voidvisitClassConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.ClassConstant classConstant)voidvisitEnclosingMethodAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.EnclosingMethodAttribute enclosingMethodAttribute)voidvisitInnerClassesAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.InnerClassesAttribute innerClassesAttribute)voidvisitInnerClassesInfo(proguard.classfile.Clazz clazz, proguard.classfile.attribute.InnerClassesInfo innerClassesInfo)voidvisitLibraryClass(proguard.classfile.LibraryClass libraryClass)voidvisitProgramClass(proguard.classfile.ProgramClass programClass)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 proguard.classfile.attribute.visitor.AttributeVisitor
visitAnnotationDefaultAttribute, visitAnyAnnotationsAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitCodeAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitExceptionsAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitMethodParametersAttribute, visitModuleAttribute, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitNestHostAttribute, visitNestMembersAttribute, visitPermittedSubclassesAttribute, visitRecordAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDebugExtensionAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttribute
-
从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor
visitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
-
-
-
-
构造器详细资料
-
ClassObfuscator
public ClassObfuscator(proguard.classfile.ClassPool programClassPool, proguard.classfile.ClassPool libraryClassPool, DictionaryNameFactory classNameFactory, DictionaryNameFactory packageNameFactory, boolean useMixedCaseClassNames, java.util.List keepPackageNames, java.lang.String flattenPackageHierarchy, java.lang.String repackageClasses, boolean allowAccessModification, boolean adaptKotlin)Creates a new ClassObfuscator.- 参数:
programClassPool- the class pool in which class names have to be unique.libraryClassPool- the class pool from which class names have to be avoided.classNameFactory- the optional class obfuscation dictionary.packageNameFactory- the optional package obfuscation dictionary.useMixedCaseClassNames- specifies whether obfuscated packages and classes can get mixed-case names.keepPackageNames- the optional filter for which matching package names are kept.flattenPackageHierarchy- the base package if the obfuscated package hierarchy is to be flattened.repackageClasses- the base package if the obfuscated classes are to be repackaged.allowAccessModification- specifies whether obfuscated classes can be freely moved between packages.adaptKotlin- specifies whether Kotlin should be supported.
-
-
方法详细资料
-
visitAnyClass
public void visitAnyClass(proguard.classfile.Clazz clazz)
- 指定者:
visitAnyClass在接口中proguard.classfile.visitor.ClassVisitor
-
visitProgramClass
public void visitProgramClass(proguard.classfile.ProgramClass programClass)
- 指定者:
visitProgramClass在接口中proguard.classfile.visitor.ClassVisitor
-
visitLibraryClass
public void visitLibraryClass(proguard.classfile.LibraryClass libraryClass)
- 指定者:
visitLibraryClass在接口中proguard.classfile.visitor.ClassVisitor
-
visitAnyAttribute
public void visitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)- 指定者:
visitAnyAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
visitInnerClassesAttribute
public void visitInnerClassesAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.InnerClassesAttribute innerClassesAttribute)- 指定者:
visitInnerClassesAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
visitEnclosingMethodAttribute
public void visitEnclosingMethodAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.EnclosingMethodAttribute enclosingMethodAttribute)- 指定者:
visitEnclosingMethodAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
visitInnerClassesInfo
public void visitInnerClassesInfo(proguard.classfile.Clazz clazz, proguard.classfile.attribute.InnerClassesInfo innerClassesInfo)- 指定者:
visitInnerClassesInfo在接口中proguard.classfile.attribute.visitor.InnerClassesInfoVisitor
-
visitClassConstant
public void visitClassConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.ClassConstant classConstant)- 指定者:
visitClassConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
setNewClassName
public static void setNewClassName(proguard.classfile.Clazz clazz, java.lang.String name)Assigns a new name to the given class.- 参数:
clazz- the given class.name- the new name.
-
hasOriginalClassName
public static boolean hasOriginalClassName(proguard.classfile.Clazz clazz)
Returns whether the class name of the given class has changed.- 参数:
clazz- the given class.- 返回:
- true if the class name is unchanged, false otherwise.
-
newClassName
public static java.lang.String newClassName(proguard.classfile.Clazz clazz)
Retrieves the new name of the given class.- 参数:
clazz- the given class.- 返回:
- the class's new name, or
nullif it doesn't have one yet.
-
-