title: Proguard runtime error with external Admob jar
body: <p>signed app gives error!</p>
  
  <p>my app uses an external Admob jar, however proguard is touching the jar:</p>
  
  <p>the jar file is located at /libs/GoogleAdMobAdsSdk-6.2.1.jar</p>
  
  <p>Thank you</p>
  
  <p>LogCat error:</p>
  
  <pre><code>Proguard returned with error code 1. See console
  Warning: com.google.ads.m: can't find referenced class  
  com.google.ads.internal.state.AdState
  Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
    You should check if you need to specify additional program jars.
  Warning: there were 2 unresolved references to classes or interfaces.
       You may need to specify additional library jars (using '-libraryjars').
  java.io.IOException: Please correct the above warnings first.
  at proguard.Initializer.execute(Initializer.java:321)
  at proguard.ProGuard.initialize(ProGuard.java:211)
  at proguard.ProGuard.execute(ProGuard.java:86)
  at proguard.ProGuard.main(ProGuard.java:492)
  </code></pre>
  
  <p>which is inside the jar-file</p>
  
  <p>Config proguard-project.txt:</p>
  
  <pre><code>-libraryjars /libs/GoogleAdMobAdsSdk-6.2.1.jar
  
  -dontpreverify
  -repackageclasses ''
  -allowaccessmodification
  -optimizations !code/simplification/arithmetic
  -keepattributes *Annotation*
  
  -keep public class * extends android.app.Activity
  -keep public class * extends android.app.Application
  -keep public class * extends android.app.Service
  -keep public class * extends android.content.BroadcastReceiver
  -keep public class * extends android.content.ContentProvider
  
  -keep public class * extends android.view.View {
  public &lt;init&gt;(android.content.Context);
  public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
  public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
  public void set*(...);
  }
  
  -keepclasseswithmembers class * {
  public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
  }
  
  -keepclasseswithmembers class * {
  public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
  }
  
  -keepclassmembers class * extends android.content.Context {
  public void *(android.view.View);
  public void *(android.view.MenuItem);
  }
  
  -keepclassmembers class * implements android.os.Parcelable {
  static android.os.Parcelable$Creator CREATOR;
  }
  
  -keepclassmembers class **.R$* {
  public static &lt;fields&gt;;
  }
  </code></pre>
  
  <p>after adding </p>
  
  <pre><code>-keep public class com.google.ads.**
  </code></pre>
  
  <p>to the file, the eclipse console gives still the following error:</p>
  
  <pre><code>Proguard returned with error code 1. See console
  Note: there were 160 duplicate class definitions.
  Warning: com.google.ads.m: can't find referenced class     
  com.google.ads.internal.state.AdState
  Warning: com.google.ads.m: can't find referenced class    
  com.google.ads.internal.state.AdState
  You should check if you need to specify additional program jars.
  Warning: there were 2 unresolved references to classes or interfaces.
  You may need to specify additional library jars (using '-libraryjars').
  java.io.IOException: Please correct the above warnings first.
  at proguard.Initializer.execute(Initializer.java:321)
  at proguard.ProGuard.initialize(ProGuard.java:211)
  at proguard.ProGuard.execute(ProGuard.java:86)
  at proguard.ProGuard.main(ProGuard.java:492)
  </code></pre>