gpt4 book ai didi

android - Gradle - 从模块继承存储库

转载 作者:行者123 更新时间:2023-12-03 03:02:53 27 4
gpt4 key购买 nike

首先,我解释一下我的项目设置。我使用 Android Studio 中使用的 Project/Module 一词。

我的项目设置如下:

  • LibraryProject => 一个仅对我的库进行分组的项目,我在其他项目中使用,如有必要
  • 备份库(模块)
  • 数据库库(模块)
  • MainUtilityLibrary(模块)
  • 对话库(模块)
  • 我的项目1
  • 应用(项目)
  • DialogLibrary(模块,引用自 DIRFFERENT 项目)

  • 我的 Project1 现在如下所示:

    1) 我从另一个项目中引用了我想要使用的模块(在 settings.gradle (Project Settings) 文件中完成:
    include ':app'

    include ':dialogLibrary '
    project(':dialogLibrary ').projectDir = new File(settingsDir, '../LibraryProject/DialogLibrary ')

    2) 我将外部库模块作为依赖项添加到我的应用程序的 build.gradle :
    dependencies {
    compile project(':dialogLibrary ')
    }

    我的 LibraryProject 如下所示:

    我将存储库和依赖项直接添加到模块的`build.gradle'(这足以毫无问题地自行构建模块):
    allprojects {
    repositories {
    maven { url 'https://dl.bintray.com/drummer-aidan/maven' }
    }
    }

    dependencies {
    compile 'com.afollestad:material-dialogs:0.7.5.2'
    }

    问题

    到目前为止的设置不适用于 MyProject1。我必须添加 maven { url 'https://dl.bintray.com/drummer-aidan/maven' }到 MyProject1 以及 compile project(':dialogLibrary ')是不足够的。我必须将应该以某种方式从 LibraryModule 继承的依赖项添加到 MyProject1 项目 build.gradle再次如下:
    allprojects {
    repositories {
    mavenCentral()
    maven { url 'https://dl.bintray.com/drummer-aidan/maven' } // com.afollestad:material-dialogs
    }
    }

    否则,我无法编译我的项目。这种方式似乎做了两次可能可以自动完成的事情。但是怎么做?这样,每当我从我的 LibraryProject 中包含一个模块时,我都必须检查是否需要额外的 maven repo...

    最佳答案

    我认为这与 Gradle 不了解 LibraryProject 的事实有关。的 settings.gradle 文件,同时构建 MyProject1 .所以它包括dialogLibrary就好像它是它自己的普通子项目一样。这解释了 MyProject 不知道 Maven 存储库的原因。 ; LibraryProject的配置尚未加载。

    也许您可以包含 dialogLibrary通过LibraryProject ?虽然我做了一些测试,但无法让它工作。这可能与 Gradle 的限制有关。有一篇关于多个 settings.gradle 文件的 StackOverflow 帖子 here .

    解决方法可能是构建 LibraryProject 的模块并使用它们。例如,将 DialogLibrary 构建到 jar 中,将其上传到 Maven 存储库,然后在您的 App 项目中仅包含 DialogLibrary 作为正常依赖项(不要忘记包含 Maven 存储库)。

    关于android - Gradle - 从模块继承存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30797518/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com