I have an anonymous class which implements an interface from another jar file (which is passed in as library jar).

```
//Some jar file
public interface B
{
  void methodA();
}

//My App
public class A implements B
{
  public void methodA()
  {
    //implementation here
  }
}

```

And its used in the app in the following manner: 

```
B var = new A();
var.methodA();

```

After running into a bug (calling abstract method), I noticed ProGuard had renamed `methodA()` in class `A`. Note that there may be more instances of such wrong obfuscations.

* How do I stop proguard from renaming such interface implementations?
* Why is it renaming the method in the first place?

**EDIT:**  

This is how I specify my library jars:

```
<libraryjar filter="!**\some.specific.jar,${base.dir}\dist\lib\*.jar" />

```

also tried: 

```
<libraryjar jarfilter="!**\some.specific.jar" />
<libraryjar jarfilter="${base.dir}\dist\lib\*.jar" />

```

Neither worked. ProGuard doesn't read the library jars specified by the filter. It only reads the ones named explicitly.