如何在 Gradle 中编译分叉库?

How to compile forked library in Gradle?

我想在 build.gradle 的项目中编译以下库:

https://github.com/theDazzler/Android-Bootstrap

它是从 https://github.com/Bearded-Hen/Android-Bootstrap 派生出来的,但是存储库中没有文档解释如何包含在项目中。

我试过这样的事情:

compile 'com.theDazzler:androidbootstrap:+'

但 gradle 失败并显示找不到库的错误。

编辑: 任何人都可以分叉它 and/or 发布它吗?

问题是:theDazzler/Android-Bootstrap 是否已在任何地方发布?在任何 gradle/maven 回购中? 通常的 build.gradle 文件有一个部分 repositories 应该引用那个 maven 仓库。

所以任何使用theDazzler/Android-Bootstrap should reference the repo where it is published, And with a project like gradle-git-repo-plugin, you could publish that fork on its own release section的项目都可以发布它。

That task gets wrapped into a publishToGithub task that handles committing and pushing the change. Then you can run

gradle -Porg=layerhq -Prepo=gradle-releases publishToGithub

You can also run

gradle -Porg=layerhq -Prepo=gradle-releases publish

to stage a release in the local github repo and commit it manually.

此分支未在 Maven 中央仓库中发布

那么你不能使用compile com.theDazzler:androidbootstrap:+

这样的导入

你必须: - 在本地克隆这个库作为项目中的一个模块 克隆 https://github.com/theDazzler/Android-Bootstrap/tree/master/AndroidBootstrap 文件夹在您的 root/module1 文件夹中。

  root:
      module1
        build.gradle
      app
        build.gradle
      settings.gradle
  • 中更改您的 settings.gradle 文件

    包含':module1' 包括 ':app'

在您的 app/build.gradle 文件中,您必须添加:

dependencies {
    // Module Library
    compile project(':module1')
}

最后,在你的 module1/build.gradle 中,你必须检查 gradle 插件使用的级别。

编辑 2015 年 10 月 31 日:

您可以使用另一种方式添加对 github 项目的依赖,使用 github 存储库和 jitpack plugin
在这种情况下,您必须将此 repo 添加到您的 build.gradle

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

和依赖项:

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

您好,我遇到了同样的问题,但使用的是不同的项目:)

所以首先你应该在你的开发机器上有库代码。 接下来的步骤是:将名为 settings.gradle 的新文件添加到项目的根目录中(如果该文件不存在的话)。

里面加上这个:

include 'AndroidBootStrap'
project('AndroidBootStrap').path = "path/to/AndroidBootstrap/AndroidBootStrapLibrary"

如果根项目不存在,也可以为您的根项目添加包含。 在你的 build.gradle 文件中添加

compile project(':AndroidBootStrap')

添加依赖。

您的文件夹结构应该如何:

 root
   YourProject
      settings.gradle
      YourProjectModule
          build.gradle

   AndroidBootStrap
      AndroidBootStrapLibrary
          build.gradle

最终文件看起来像这样:

settings.gradle:

include 'AndroidBootStrap'
project('AndroidBootStrap').path = "../AndroidBootstrap/AndroidBootStrapLibrary"
include 'YourProjectModule'

build.gradle(你的模块):

...
dependencies {
   ...
   compile project(':AndroidBootStrap')
}

也许有必要修改一些地方,但我希望你能明白!

干杯 内里

使用Jitpack即可简单完成

第 1 步。将 JitPack 存储库添加到您的构建文件

allprojects {
        repositories {

            maven { url 'https://jitpack.io' }
        }
    }

第 2 步. 添加依赖项

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

例如:编译'com.github.sachinvarma:JcPlayer:0.0.1'