我正在尝试创建一个名为MyLib的Android库。
该库依赖于其他几个库和模块:A,B和C.
当创建我的MyLib.aar时,似乎不包括A,B和C.
当我将MyLib.aar集成到应用程序中时,我必须在应用程序的build.gradle中将A,B和C设置为依赖项。但我已经将它们设置为MyLib库项目中的依赖项。
这是正确的行为吗?
有没有办法用MyLib打包A,B和C,以便依赖MyLib的应用程序不需要显式声明A,B和C作为依赖项?
答案 0 :(得分:1)
因此,如果我想将MyLib分发给其他开发人员并让他们能够在他们的构建环境中解析依赖关系,那么这听起来像是一个解决方案就是创建一个包含MyLib依赖关系然后开发的公共Maven仓库使用该库将能够解决所有依赖项。我理解正确吗?
一般来说,是的。
AAR本身及其POM文件将由存储库托管,无论开发人员需要AAR,都可以看到该存储库。这可能是一个团队的内部存储库,一直到像Maven Central这样的东西。
然后,AAR的依赖性将(有希望)落入两个阵营:
那些已经公开可见的依赖关系(例如,在Maven Central上),您的AAR / POM的消费者将能够下拉
那些是您自己的代码,您可以将其视为AAR本身,将依赖项及其POM放入repo中,以便其他人可以在从repo使用主AAR时获取它