有没有可能在android gradle中将git存储库声明为依赖项?

我想使用从mavencentral我的lib的主版本。

有没有可能在android gradle中将git存储库声明为依赖项?

对我来说最好的方法是:

https://jitpack.io

第1步:将JitPack存储库添加到您的构build文件中将其添加到存储库末尾的build.gradle中:

repositories { // ... maven { url "https://jitpack.io" } } 

第2步。在表单中添加依赖项

 dependencies { compile 'com.github.User:Repo:Tag' } 

或者,您可以将资源库注册为这样的子模块

 $ git submodule add my_sub_project_git_url my-sub-project 

然后在你的settings.gradle文件中包含项目,应该看起来像这样

 include ':my-app', ':my-sub-project' 

最后,在你的应用程序build.gradle文件中像这样编译项目作为依赖项

 dependencies { compile project(':my-sub-project') } 

然后,在克隆你的项目时,你只需要添加选项--recursive来让git自动克隆根存储库及其所有的子模块。

 git clone --recursive my_sub_project_git_url 

我希望它有帮助。

我不认为gradle支持添加git repo作为依赖。 我的解决方法是:

  • 声明主项目依赖于文件系统中的另一个项目
  • 提供一种方法来自动克隆声明为依赖的文件夹中的git repo

我假设你想要在主项目仓库文件夹之外的仓库仓库,所以每个项目都是独立的仓库仓库,你可以独立地提交库和主项目仓库仓库。

假设你想把库项目的文件夹放在与主项目文件夹相同的文件夹中,

你可以:

在顶级settings.gradle中,声明库存储库为一个项目,因为它是在文件系统中的位置

 // Reference: https://looksok.wordpress.com/2014/07/12/compile-gradle-project-with-another-project-as-a-dependency/ include ':lib_project' project( ':lib_project' ).projectDir = new File(settingsDir, '../library' ) 

使用gradle-git插件从git仓库克隆库

  import org.ajoberstar.gradle.git.tasks.* buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' } } task cloneLibraryGitRepo(type: GitClone) { def destination = file("../library") uri = "https://github.com/blabla/library.git" destinationPath = destination bare = false enabled = !destination.exists() //to clone only once } 

在你的项目的依赖关系,说你的项目的代码取决于git项目的文件夹

 dependencies { compile project(':lib_project') }