如何在Gradle中编译分叉库?

时间:2015-01-12 20:22:56

标签: android git github gradle android-studio

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

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

它是从https://github.com/Bearded-Hen/Android-Bootstrap分叉的,但是存储库中没有文档说明如何包含在项目中。

我试过这样的事情:

compile 'com.theDazzler:androidbootstrap:+'

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

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

4 个答案:

答案 0 :(得分:37)

此专栏未在maven中央回购中发布

然后您无法使用导入,例如compile com.theDazzler:androidbootstrap:+

你必须: - 将此库本地克隆为项目中的模块 克隆了 root / module1文件夹中的https://github.com/theDazzler/Android-Bootstrap/tree/master/AndroidBootstrap文件夹。

  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插件的级别。

编辑31/10/2015:

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

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

和依赖:

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

答案 1 :(得分:5)

可以使用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'

答案 2 :(得分:3)

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

因此,使用theDazzler/Android-Bootstrap的任何项目都可以引用发布它的repo,而使用像gradle-git-repo-plugin这样的项目,您可以在自己的release section上发布该fork以发布它

  

该任务被包装到publishToGithub任务中,该任务处理提交和推送更改。然后你可以运行

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

您也可以运行

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

在本地github repo中发布一个版本并手动提交。

答案 3 :(得分:3)

您好我有同样的问题,但有一个不同的项目:)

首先,你应该在dev机器上拥有库代码。 接下来的步骤是:将一个名为 settings.gradle 的新文件添加到项目的根目录(如果尚未存在)。

里面加上这个:

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

如果不存在,也为你的根项目添加include。 在 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(YourModule):

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

也许有必要修改一些观点,但我希望你能得到这个想法!

干杯 内里