title: Proguard keep parameter names for interface and abstract class
body: <p>I am trying to prevent proguard from obfuscating interface (or abstract class) methods parameters.</p>
  
  <p>Lets say I have this interface in my lib :</p>
  
  <pre><code>package com.mypackage;
  public interface MyLibListener {
      void onSomething(boolean success, String message); 
  }
  </code></pre>
  
  <p>And this proguard file :</p>
  
  <pre><code>-keepparameternames
  -keep interface com.mypackage.MyLibListener {
      *;
  }
  </code></pre>
  
  <p>Then I assemble release and I get :</p>
  
  <pre><code>package com.mypackage;
  public interface MyLibListener {
      void onSomething(boolean var1, String var2);
  }
  </code></pre>
  
  <p>Same thing with abstract classes or using <code>@Keep</code> annotations. Obfuscation option <code>keepparameternames</code> seems to work only for regular classes. Any idea? Thanks!</p>
  
  <p>(related SO : <a href="https://stackoverflow.com/questions/35290615/how-to-not-obfuscate-interface-methods-its-parameters-using-progaurd-in-andro">How to not obfuscate interface methods &amp; it&#39;s parameters using Progaurd in android?</a> and <a href="https://stackoverflow.com/questions/28162823/proguard-keep-interface-method-variable-names">Proguard keep interface method variable names</a>)</p>