问题标签 [gradle-dependencies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
594 浏览

android - 嵌套的 aar 依赖项不起作用

为了简化事情,我将调用我正在使用 library_a.aar 和 library_b.aar 的库。

这是我面临的情况。library_a 已构建并推送到 maven_repository,这里没有问题。library_b 依赖于 library_a 并添加到 library_b 中,如下所示:

library_b 构建没有错误并上传到 maven_repository。

现在我的应用程序依赖于 library_b,我需要通过提供(如上所述)存储库以及凭据来添加它。

我面临的第一个问题是,为了在我的项目中编译 library_b 它需要按以下方式编译:

我必须添加 @aar 否则 gradle 将无法识别它,但我不必对 library_a 执行此操作。

第二个问题是,当我构建应用程序时,我收到警告说它找不到对 library_a 中可用类的引用。我在这里错过了什么?我确实尝试将 transitive=true 添加到 library_a

但绝对没有任何作用。我确实检查了 pom 文件,它包含正确的依赖项。可能是我正在做的事情不受 gradle 的支持,我必须在我的应用程序中同时编译 library_a 和 library_b 吗?

0 投票
1 回答
4087 浏览

gradle - Gradle "changing" dependencies management

I want to share my problem with you. Maybe somebody faced this problem also and will have solution. In brief Gradle doesn't resolve frequently changing dependencies. We're using:

Let me try to explain what's happened. We have some project that have dependency of another independent project. Both are under active development. One is: string-parser version: 1.0.0-SNAPSHOT Second is: tools-utils version: 2.2.0-SNAPSHOT We have internal maven artifactory and we configured it in string-parser:

So when we're doing changes at local work station (Windows - I think it doesn't matter) for tools-utils and upload last snapshot artifact version to maven local and remote everything is okay. We go to string-parser project press "reimport" button (in Intellij Idea 2016.1.2) and Gradle switch to correct dependency version. But if somebody does some changes and upload new version to Maven remote it won't update dependency in cache and still point to old version. To fix it we have manually delete artifact from Gradle cache and (!) from Maven Local.

Could you please advice me something because cleaning up cache manually (or with addition step on TeamCity) is a nightmare?

0 投票
1 回答
299 浏览

android - 如何在我的 Android 应用程序中使用 Mockito?我收到了仅在测试中使用时没有收到的 Hamcrest 依赖冲突

我想在我正在编写的应用程序的发布版本中使用 Mockitomock()clone()方法,而不仅仅是在测试中。(是的,我知道测试是什么,我不担心性能,我有这样做的理由。)但是当我将 Mockito 作为运行时依赖项包含在内时,我的项目无法编译。app/build.gradle它使用 Mockito 1.10.19、Dexmaker 1.4 和 Espresso 2.2.2编译为 中的测试依赖项:

但是当我尝试将这些更改为运行时依赖项时:

在任务期间,Gradle 尝试使用build或任务构建项目时返回以下错误:assembleAndroidTestprepareDebugUnitTestDependencies

与依赖 'org.hamcrest:hamcrest-core' 冲突。应用程序 (1.1) 和测试应用程序 (1.3) 的已解决版本不同。有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict

我可以在dependenciesGradle 任务中看到 Mockito 1.10.19 依赖于 Hamcrest 1.1,而 JUnit 4.12 依赖于 Hamcrest 1.3,但这个错误对我来说很奇怪,原因有两个:

  1. testCompile当它们和androidTestCompile依赖项时我没有收到此错误,但当时它们都被使用了。在我看来,我没有添加任何新的测试依赖项,那么为什么它们现在会发生冲突?
  2. assembleReleaseassembleDebug完成没有任何错误。

我可以做些什么来在我的应用程序的测试和发布版本中使用 Mockito?

我尝试了几件事,但没有成功:

  • 复制 Mockito 和 Dexmaker 依赖项,将它们指定为正常依赖项和测试依赖项。

  • mock()使用 Mockito 2。我尝试了当前版本 2.2.22 和 2.1.0,但是尝试在 JUnit 测试中使用时遇到了类似的错误:

    从我在网上可以找到的信息来看,目前 Mockito 2.x 似乎没有办法在 Android 上运行。

0 投票
1 回答
958 浏览

gradle - 如何让 Gradle 自动下载可选依赖项?

使用 Gradle 下载依赖项时,它似乎排除了可选依赖项。例如,我包括番石榴:

它没有下载此处列出的可选依赖项:https ://mvnrepository.com/artifact/com.google.guava/guava/19.0

我一直在学习 Gradle 并移植旧版应用程序以使用 Gradle。该应用程序有一个 Python 脚本包装器,它总是下载可选的依赖项,我在这里碰壁了。

0 投票
1 回答
4951 浏览

android - Javadoc generation "error package does not exist" in multi module project

I need to upload my libraries(multi-module project) into sonatype repository through Bintray. So that I need to generate the Javadoc individually for each module.

First I faced the problems in these similar questions

Android Studio Javadoc: Cannot find symbol

Gradle Javadoc fails with “error: package … does not exist”</a>

From the solution in the first question, I can resolve the classes that I have used from third party libraries(retrofit2, gson) and @NonNull annotations errors.

But in my case one of my modules(Lib2) depends on another module(Lib1).

When generating the Javadoc for Lib2 module, its warning package does not exist & cannot find symbol for the classes of another module(Lib1).

And both modules reports package does not exist error for android support & design libraries.

And Every import <packagename>.R; reports cannot find symbol

My Javadoc generating task

dependencies in Lib1 build.gradle

dependencies in Lib2 build.gradle

I have tried

My entire gradle-mvn-push.gradle

0 投票
2 回答
6567 浏览

android - 使用 RxJava 2 和 Retrofit 2,适配器版本问题

我在 Android Studio 中的现有应用程序模块中添加了一个新的库模块。主要区别是添加了 RxJava 2 和 Retrofit 2。更新新模块的 build.gradle 后,我开始收到下一个错误:

错误:任务“:app:transformResourcesWithMergeJavaResForBetaNewApiDebug”执行失败。com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在 APK META-INF/rxjava.properties File1 中复制的重复文件:C:\Users\Gaket.gradle\caches\modules-2 \files-2.1\io.reactivex.rxjava2\rxjava\2.0.2\cfccdd18cdfbe7b4773d42c9f3512eeafbe5cbf9\rxjava-2.0.2.jar File2: C:\Users\Gaket.gradle\caches\modules-2\files-2.1\io.reactivex \rxjava\1.1.5\ece7b5d0870e66d8226dab6dcf47a2b12afff061\rxjava-1.1.5.jar

我看到 RxJava 存在一些问题(我想尝试 RxJava 2,在这里我看到了 RxJava 1 和 RxJava 2)。添加所有依赖项后立即出现问题,我们不在RxJava主应用程序中使用。

更新: 正如我在下面提到的,我检查了三个主题(你可以在下面看到)。这个问题:可能重复的问题类似于我在下面已经提到的问题: 这个。他们都有解决方法,没有考虑到我在回答中强调的真正问题。答案是“目前没有从 Retrofit 2 到 RxJava 2 的生产就绪适配器”(下面的答案中描述了完整的细节)。

我检查了几个主题:第一个 是针对具体问题的一些具体解决方案,第二个是关于rxbindings,但我不使用它们,其他一些也没有解决我的问题或看起来像这个问题的总解决方法。我试图用谷歌搜索“rxjava 2 and retrofit 2”,但没有找到解决方案。

这是build.gradle图书馆的:

问题是:
为什么会发生这个问题,处理它的正确方法是什么?

0 投票
1 回答
1301 浏览

android - 属性“titleTextColor”已用不兼容的格式定义

我有一个 gradle 依赖项。当我添加compile 'com.heinrichreimersoftware:material-intro:1.6' 时,gradle 同步后出现错误。=> 属性“titleTextColor”已经用不兼容的格式定义。

你有没有这种经历的人?

...

0 投票
2 回答
6536 浏览

gradle - 如何忽略错误的 pom 'inconsistent module descriptor'(版本)

我需要一个在 pom.xml 中版本号不一致的依赖项。

Apache XmlSchema-Pom的版本SNAPSHOT显然不正确1.1

根据这个gradle 讨论,如果将 Maven 存储库指定为 ivy 存储库,添加@jar或添加transitive = false到依赖项,那么所有这些都对我不起作用

build.gradle是我的尝试:

这是 gradle 输出的错误消息:

0 投票
2 回答
3114 浏览

java - Gradle 依赖项目 test-jar

我有一个多模块 gradle 项目,我想在我的依赖模块中使用共享模块中的一些测试类。

第一个依赖项有效,但 testCompile 依赖项不起作用。我似乎找不到它的语法。maven 等价物是:

0 投票
0 回答
457 浏览

android - 下载 Robolectric 依赖项时出错

尝试在我的公司中使用 Robolectric 时遇到了一些错误。

我已配置代理,但无法下载 Robolectric 依赖项:

从https://oss.sonatype.org/content/groups/public的存储库 sonatype 下载:org/robolectric/android-all/5.0.0_r2-robolectric-1/android-all-5.0.0_r2-robolectric-1.pom /
[警告] 无法从存储库 sonatype ( https://oss.sonatype.org/content/groups/public/ ) 获取资源 'org.robolectric:android-all:pom:5.0.0_r2-robolectric-1': 错误传输文件:连接超时:连接错误传输文件:连接超时:连接。.