#Gradle and #Java both operate by loading all dependencies and classes that are used in a project, unlike C or C++, which can #ifdef them out. This makes #FreeSoftware a bit harder when touching proprietary libraries, since all dependencies must be present at build time. If a build requires proprietary blobs, the resulting binaries cannot be free software. One workaround is to make free stub classes in build flavors to replace the proprietary build dependencies when building.
I guess the tricky part there is that those stub classes need to be named the same as the proprietary dependencies, including the gradle lines. I wonder if it would make sense to have a #Maven repo that parallels Maven Central and maven.google.com that just contains stub libraries with the same Maven coordinates as the proprietary libs that many projects depend on.