The signature of MethodHandle and VarHandle directly use the argument type. https://github.com/Guardsquare/proguard-core/blob/master/base/src/main/java/proguard/classfile/LibraryClass.java#L326 So the codes here cannot find the ref to MethodHandle and VarHandle and their signature cannot be changed when obfuscating jar with proguard.