[aerogear-dev] Android Dependencies and DEX Size
artur.dryomov at gmail.com
Fri Aug 21 07:16:22 EDT 2015
So, I’ve just hit the famous 65 K methods count and DEX error as a sweet
bonus while updating the application to latest Android 6.0-related
Long story short, I’ve analyzed  dependencies  for the Hawkular
Android Client . Important notice—the application is not that big or
Methods count is below.
- Various dependencies: 2445.
- Java & JavaX: 1684.
- Android Support libraries: 12988.
- Android: 3081.
- Google Play Services: 22022.
- Bouncycastle: 10423.
- Spongycastle: 10423.
- AeroGear: 1210.
- Application itself: 1047.
- Total: 65346.
This is kind of disappointing. Of course I can start to blame Android
Support libraries, but you clearly cannot develop apps these days without
using backports and helpers. Google Play Services is a bigger deal. It is a
dependency of the AeroGear Push module and you cannot live without it as
well, but you can use a modular dependency. I’ve addressed this in an issue
 which leads to another one . It was fixed (there is Google Play
Services 7.8.0 already though), but not released. Bouncycastle and
Sprongycastle are related to security and are dependencies of the AeroGear
Store module which is a dependency of the AeroGear Authz module. I’m not
really sure I need this at all.
Let’s count again.
- The current application: 65346 methods.
- The application without Google Play Services and Castles: 22478.
The application can be (65346 ÷ 22478 = 2.9) times smaller.
What do you think about? Is there any chance to ditch these Castle
dependencies and release the new Push version?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the aerogear-dev