Gradle dependency is an overkill
Well it is if you are using some stable library or you are satisfied with the current library features. Also when the library has dependencies for backward porting or has a set of features or say classes which you simply don't need.
The solution will be take what you need from the library, (only when you are sure that it will suffice your requirements)
And it's not
If you want automatic updates and fixes to your library, ease of integration. Many of the libraries are made and maintained everyday, So may be the APK size doesn't matters that much to us, as much the library updates, So gradle imports are good there.
Concerns on APK size
A gradle dependency may have lot of unrelated stuff, backward support which your app doesn't require, which in the end increase the application size, also will result in slow compilation too.
So, If the library has a single class or fewer class you can directly add it to your application in some package. A good example will be the Google IO app, where some libraries are their in a different package.
You can also control what goes to debug or release apk, for debug dependencies use debugCompile
, for test dependencies use testCompile
Adding the library as module dependency
Adding as library module will speed up the build process by the download time required for fetching the dependency, which you can easily achieve by Enable offline sync for Gradle in Android studio.
Also library modules are the way, if you have developed some private library and you use it throughout your own projects, if that is not the case you will have the library published and maintained on maven central and will be easier to integrate to your own set of projects through gradle.