Android 项目目录中的渐变依赖项缓存

Android 项目目录中的渐变依赖项缓存,android,git,maven,gradle,dependency-management,Android,Git,Maven,Gradle,Dependency Management,我的项目中有一些来自Maven Central Repository的依赖项。所以我想,如果从Maven Central和其他存储库(GitHub)中删除任何依赖项,而我将无法在某个地方找到该依赖项并构建我的项目,该怎么办 我想将本地依赖缓存添加到我的项目的git存储库中,这样任何人都可以克隆此存储库并脱机构建我的项目。可能是椰子荚的方式。我如何才能做到这一点?您已经有了本地maven回购,请在项目的存储库部分下添加mavenLocal()。我怀疑是否可以删除maven或其他公共托管repo的任

我的项目中有一些来自Maven Central Repository的依赖项。所以我想,如果从Maven Central和其他存储库(GitHub)中删除任何依赖项,而我将无法在某个地方找到该依赖项并构建我的项目,该怎么办


我想将本地依赖缓存添加到我的项目的git存储库中,这样任何人都可以克隆此存储库并脱机构建我的项目。可能是椰子荚的方式。我如何才能做到这一点?

您已经有了本地maven回购,请在项目的
存储库
部分下添加
mavenLocal()
。我怀疑是否可以删除maven或其他公共托管repo的任何依赖关系,但防止这种情况发生的最好方法是托管自己的repo-
artifactory
。另一种方法是将所有依赖项添加到版本控制系统,并将
gradle
配置为从平面文件存储库读取依赖项。是gradle docs中关于存储库的整章。

在企业环境中,您可以使用存储库管理器,如,或。您可以将这些工具配置为公共存储库的代理,以便根据需要缓存所有需要的工件

这些工具被安装到服务器上,以便每个开发人员都可以访问它们,并且构建被设置为仅具有此存储库,以便在缓存中不可用的情况下缓存所有工件。


如果存储库管理器对您来说太难了,您必须自己管理本地存储库。

我喜欢Cocoapods或NuGet的依赖关系管理方式。使用这些工具,我在特定的文件(Podfile或通过visualstudio或NuGet命令行添加它们)中编写依赖项,然后将它们从远程存储库下载到特定的项目文件夹,我可以将它们添加到源代码管理中。我没有企业环境,也不想自己使用平面目录存储库来管理依赖关系。据我所知,iOS开发人员仍在讨论是否应该将Pod的依赖关系签入源代码管理。一般来说,这些只是解决同一问题的不同方法。用这种方法在格拉德尔是不可能做到的。您可以将gradle配置为将依赖项下载到特定文件夹,并将此文件夹添加为依赖项位置。请看这里:请看我对@Steffen answerDependencies的评论。在平面目录中,dependencies可能有自己的依赖项,我必须自己搜索所有依赖项树来构建和运行我的项目。但我想要的是利用gradle依赖项管理的优点,同时也向source conrol添加依赖项缓存,这样任何人都可以在不连接internet或不访问artifactory的情况下构建项目,以及将来是否会从Maven Central中删除某些依赖项。最后,我开发了一个可能重复的解决方案