First of all, if you are creating Android libraries, create an AAR, not a JAR. AAR files follow the structure of the android SDK and can have manifest files and therefore require permission and xml resources, among other things.
-, ( !), ( AAR/JAR). , SDK, , ( , SDK, gradle , fiddling with proguard ), (, , , DFP . , Inversion of Control, , amazon. amazon amazon.)
, . , , , build.gradle. "api":
api 'com.myname:moduleX:xxx'
com.myname: moduleY, X . Gradle maven . AAR Android "" maven (mavenLocal() gradle)). "api", . , , , AAR .
, - fat/Uber JAR, , "". , gradle . , . ( maven maven shade). , -, , . , gradle maven, , , . !