Also, one reason is that for "hiding" internals of library, I use package private classes in Java. So, in the end project becomes really messy with 100+ classes. So, I have seperated them into modules. However, then when I compile, unless I include libraries manually, .aar file does not contain classes from other modules.