Yes, the monolithic structure of the Play Service jar sucks for the reasons 
you mention.
However you can generate a new jar from it with jarjar, extracting only the 
classes you need and their dependencies.
I had to do it for a project that otherwise would hit the 64K dex limit.


On Friday, 7 February 2014 22:14:50 UTC+1, Jeff Campbell wrote:
>
> We have an app that depends on a lot of libraries, and recently we wanted 
> to integrate Google Maps into our application.  We learned that we would 
> have to add the following dependency to our app:
>
> compile 'com.google.android.gms:play-services:4.1.32'
>
> Before adding this dependeny, our app had about a 40k method count.  After 
> adding this dependency our method count jumped to about 50k (about 10k 
> methods added to our apk!).  And, it seems that with every new version of 
> this dependency it grows more and more (we noticed about a 2k growth in the 
> last update).
>
> I know that this dependency contains a LOT of different types of services 
> which include things we don't even use (which all contribute to the 10k 
> method count).  I know that I can use Proguard to strip out un-needed 
> methods, but in a development environment this just slows down build time, 
> and can make debugging issues difficult.
>
> Could the Google Play Services be divided into seperate aar projects? 
>  Example:
>
> play-services-core (required by all... assuming that there is some shared 
> code)
> play-services-maps
> play-services-games
> play-services-ads
> play-services-plus
> play-services-wallet
> etc....
>
> Doing this would reduce the risk of apps hitting the 65k method limit cap 
> (seems crazy that a Google library takes 15% of the 65k limit of any single 
> app)
>
> Thanks,
> Jeff
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to