Android库可与本地maven存储库

时间:2016-07-29 10:04:08

标签: java android maven gradle android-gradle

我有一个Android应用程序,它使用我自己的库。我正在同时开发它们所以当我在我的库中进行更改时,我想在我的应用程序中进行测试。

它们被设置为不同的项目,因为我的库也将被其他开发人员使用。我们的工作方式是使用CI平台构建库,并将其部署到神器服务器。

然后从应用程序我直接通过artifactory引用这个库。这样,当我的CI平台构建应用程序时,构建过程会从神器中获取lib,并且CI可以顺利运行。

这是一种很好的工作方式,但是在并行开发它们时很麻烦,因为我必须提交更改,创建拉取请求,将其与开发分支合并,然后等待CI构建它,将它部署在artifactory服务器上,这样我就可以在app上测试它。

来自java EE开发,我使用了maven install,它在本地maven repo中部署了工件,然后我就可以在我的Web应用程序中使用它了。

我想做类似的事情,即让gradle在我的本地仓库上部署我的工件,因此本地仓库上的工件更新但不在远程工件上。通过这种方式,我可以更轻松地进行调试,同时仍然保持CI设置。

但我不知道如何在gradle上做到这一点。神器插件似乎只允许在神器服务器上进行部署。

任何想法?

1 个答案:

答案 0 :(得分:1)

如果您正在使用maven插件,则可以运行安装任务将工件部署到本地Maven存储库[1]。将工件部署到本地maven存储库后,需要添加mavenLocal() [2]作为存储库之一才能解析依赖关系。我使用的一个策略是始终为我的本地副本设置自定义版本,以便我可以确定本地版本正在被选中 - 但如果您选择不这样做,依赖关系将按照列出存储库的顺序得到解决(所以你需要确保mavenLocal在你的Artifactory服务器之前。)

[1] https://docs.gradle.org/current/userguide/maven_plugin.htmlhttps://github.com/dcendents/android-maven-gradle-plugin

[2] https://discuss.gradle.org/t/how-to-use-maven-local-repository-for-gradle-build/2244