tre*_*ere 6 android build gradle aar
我正在开发一个内部库(我们称之为"banana_lib"),它将包含在Android应用程序项目中.我想以.aar文件的形式向客户端提供此库.
我的图书馆依赖于另一个图书馆(让我们说Gson).如果我能帮助它,我想避免将这种依赖的类捆绑到我的库中("胖罐","超级罐"方法).
我知道我可以要求我的库的用户将依赖项包含在应用程序的build.gradle文件中:
dependencies {
compile 'com.google.code.gson:gson:2.2.4'
compile files('libs/banana_lib.aar')
Run Code Online (Sandbox Code Playgroud)
}
但我不想让我的库的用户在应用程序的build.gradle文件中包含我的库的依赖项给图书馆用户带来负担.
问题: 有没有办法让gradle自动解析/包含.aar文件的依赖项?有什么办法可以让.aar库的用户尽量减少工作量?我需要提供一对.aar和.pom文件吗?我的主要目标是减少这个库的用户必须做的事情.我觉得图书馆应该理想地定义它的所有依赖项,gradle应该只在后台解决它们.
换一种略有不同的方式:有没有办法允许客户端/用户通过以下方式包含(内部!)库(具有外部依赖性):1.)将.aar文件添加到构建中.2.)将它包含在build.gradle中.
如果有其他解决方案可以将库的用户/包含者必须做的工作量保持在最低限度,那么这也很有趣:)
非常感谢!
但我不想让我的库的用户在应用程序的build.gradle文件中包含我的库的依赖项给图书馆用户带来负担.
然后在工件库中发布AAR和POM,其中POM说明了依赖关系.
我觉得图书馆应该理想地定义它的所有依赖项,gradle应该只在后台解决它们.
这不是JAR和AAR的工作方式.在JAR或AAR中都没有依赖信息.两者都依赖于POM或依赖信息的其他外部声明,版本信息等.
有没有办法允许客户端/用户通过以下方式包含(内部!)库(具有外部依赖性):1.)将.aar文件添加到构建中.2.)将它包含在build.gradle中.
在工件存储库中发布AAR和POM,POM会在其中列出依赖关系.
请注意,"工件库"并不一定意味着Maven Central或JCenter.工件存储库可以只是一个目录树,特别是通过本地文件系统访问时.例如,您的开发计算机上已经有两个本地存储库,很可能是:Android存储库和Google存储库.如果您希望在网站(例如,内部Web服务器)上托管存储库,那么这是可能的,尽管您需要index.html在目录树的每个级别添加目录样式的文件.或者,据我所知,Sonatype和Bintray出售专用的工件库服务器.