With respect to that particular library (com.android.support:design
), they have not updated it to use the more-granular dependencies. With luck, they will do that someday.
In general, the advantage is to allow for flexibility. Not all apps use com.android.support:design
, com.android.support:appcompat-v7
, or other libraries that Google has not yet updated to use the more-granular dependencies. Apps that avoid those libraries can use individual dependencies (e.g., com.android.support:compat
).
Also, you can use Gradle exclusion rules to attempt to block portions of the aggregate support-v4
that you feel that you are not going to use. For example, you could exclude support-fragment
, then see if your app holds up under testing (though that will not work in your specific case, since the Design Support library requires appcompat-v7
, which in turn requires FragmentActivity
).