繁体   English   中英

从gradle中的github导入存储库

[英]Import repository from github in gradle

我正在构建一个依赖于本机的android库:

dependencies {
    compile 'com.google.maps.android:android-maps-utils:0.5'
}

事实证明, android-maps-utils无法按照我想要的方式工作,因此我对其进行了分叉,我想使用该库的版本而不是官方版本。 我找不到方法,但我搜索了如何从gradle内的github导入库,却找到了ajoberstar / gradle-git,但是没有明确的说明,但我发现的所有示例都没有为我工作(例如: Gradle:如何在任务中克隆git repo? )。 有没有更简单的方法来完成这样的事情?

编辑:

这是我的结构(简化):

root:
| build.gradle
| settings.gradle
| aars
 | map-util.aar
| libs
 | android
  | build.gradle

根build.gradle-> repositories { flatDir { dirs 'aars' } }

settings.gradle->

include ":react-native-maps-lib"
project(":react-native-maps-lib").projectDir = file("./lib/android")

android / build.grandle-> compile(name: "map-util", ext:"aar")

通过在本地文件系统上的某个位置构建分支源来引用您构建的AAR。

repositories {
   flatDir {
       dirs 'libs'
   }
}

然后将工件放入.../libs ,并将其正常添加到您的依赖项中,当然会将版本与您刚刚构建的版本相匹配。

我发现了问题所在! 首先让我弄清楚我想做什么-我正在构建React Native项目。 它使用了我的react-native-maps的分支版本,该版本使用了android-maps-utils。 我想分叉android-maps-utils并使用我的分叉版本。

android-maps-utils生成我需要在本地导入的aar文件。 遵循Jeffrey Blattman的建议,我在react-native-maps中添加了libs目录,并在其中放置了一个名为android-maps-utils.aar的文件。 我还将此添加到react-native-maps build.gradle中:

allprojects {
  repositories {
    ...
    flatDir {
      dirs "$rootDir/libs"
    }
  }
}

这是react-native-maps / android / build.gradle里面的:

dependencies {
  ...
  compile(name: "android-maps-utils", ext:"aar")
}

现在react-native-maps可以编译,但是我的react-native项目不是由于以下原因:

A problem occurred evaluating project ':react-native-maps'.

因此,我还需要包括以下行:

compile(name: "android-maps-utils", ext:"aar")

在我的本机应用程序android目录中。 现在一切都可以编译了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM