title: Android app size increased after adding admob ads using google-play-services_lib
body: <p>I'm gonna publishing my app in two versions, both paid and free (with AdMob ads).<br>
  The two versions are exactly identical except for the google-play-service_lib that i use in the free version for AdMob services.</p>
  
  <p>The final apk sizes after using proguard are:<br>
  1.301.435 bytes for paid version<br>
  1.946.634 bytes for ads version<br></p>
  
  <p>In free version i show interstitial ads only.</p>
  
  <p>Here's my proguard settings relative to the google-play-service_lib</p>
  
  <pre><code>-keep class * extends java.util.ListResourceBundle {
      protected Object[][] getContents();
  }
  
  -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
      public static final *** NULL;
  }
  
  -keepnames @com.google.android.gms.common.annotation.KeepName class *
  -keepclassmembernames class * {
      @com.google.android.gms.common.annotation.KeepName *;
  }
  
  -keepnames class * implements android.os.Parcelable {
      public static final ** CREATOR;
  }
  </code></pre>
  
  <p>Is there something i can do to reduce file size like removing some -keep flags or what?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Using <a href="https://code.google.com/p/android-apktool/" rel="noreferrer">apktool</a> i discovered that none of the classes from the Google Play Service package has been shrinked (including <code>com.google.android.gms.maps.*</code>, <code>com.google.android.gms.games.*</code> and many others that i think are not needed for Ads management).</p>
  
  <p>How to force shrink a class or a class group?</p>
  
  <p><strong>EDIT (again)</strong></p>
  
  <p>It looks like Eclipse doesn't keep Proguard output, at least i couldn't see it anywhere. I then configured my projects and libs to be build using Ant to see some output, but it's almost unsubstantial, these are two cases:</p>
  
  <pre><code> -whyareyoukeeping class com.google.android.gms.maps.GoogleMap
  
   [proguard] Explaining why classes and class members are being kept...
   [proguard] Printing usage to [...../bin/proguard/usage.txt]...
   [proguard] com.google.android.gms.maps.GoogleMap
   [proguard]   is not being kept.
  </code></pre>
  
  <p>(at least i read that class is not been kept, although i can see it using apktool!) and</p>
  
  <pre><code> -whyareyoukeeping class com.google.android.gms.games.Games
  
   [proguard] Explaining why classes and class members are being kept...
   [proguard] Printing usage to [...../bin/proguard/usage.txt]...
  </code></pre>
  
  <p>here nothing is said about given class.</p>
  
  <p>I'm giving up, for a single interstitial my app increases his size by 50%, although <a href="http://developer.android.com/google/play-services/index.html" rel="noreferrer">Google about GPS</a> states:</p>
  
  <blockquote>
    <p>The client library has a light footprint if you use ProGuard as part
    of your build process, so it won't have an adverse impact on your
    app's file size.</p>
  </blockquote>
  
  <p>and no-where i could find a guide for it!</p>