无法使用dagger 2依赖项从命令行构建Android gradle项目

无法使用dagger 2依赖项从命令行构建Android gradle项目,android,android-studio,dagger-2,annotation-processing,Android,Android Studio,Dagger 2,Annotation Processing,我使用dagger已经有一段时间了,现在我面临一个与DaggerAppComponent类的生成相关的问题 从AndroidStudio运行项目时,它按预期工作,但每当我在根目录的命令行上运行任务AssembledBug时,gradle无法构建整个项目,因为没有生成dagger类 为了完全执行dagger注释处理器,我错过了一些任务 依赖关系: final DAGGER_VERSION = '2.0.1' compile "com.google.dagger:dagger:$DAGGER_VE

我使用dagger已经有一段时间了,现在我面临一个与DaggerAppComponent类的生成相关的问题

从AndroidStudio运行项目时,它按预期工作,但每当我在根目录的命令行上运行任务AssembledBug时,gradle无法构建整个项目,因为没有生成dagger类

为了完全执行dagger注释处理器,我错过了一些任务

依赖关系:

final DAGGER_VERSION = '2.0.1'

compile "com.google.dagger:dagger:$DAGGER_VERSION"
annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'org.glassfish:javax.annotation:10.0-b28'
import com.company.injection.DaggerAppComponent;
                           ^
  symbol:   class DaggerAppComponent
  location: package com.company.injection
:mobile:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mobile:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.filterKeys(Lcom/google/common/collect/SetMultimap;Lcom/google/common/base/Predicate;)Lcom/google/co
mmon/collect/SetMultimap;
这是最后一个错误:

final DAGGER_VERSION = '2.0.1'

compile "com.google.dagger:dagger:$DAGGER_VERSION"
annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'org.glassfish:javax.annotation:10.0-b28'
import com.company.injection.DaggerAppComponent;
                           ^
  symbol:   class DaggerAppComponent
  location: package com.company.injection
:mobile:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mobile:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.filterKeys(Lcom/google/common/collect/SetMultimap;Lcom/google/common/base/Predicate;)Lcom/google/co
mmon/collect/SetMultimap;

为了确保图形正常且工作正常,如果我尝试使用AssembledBug通过命令行构建项目,问题就会发生。

在这方面花费了一些时间后,我修复了添加guava依赖项作为dagger编译器上方的注释处理器的问题

final DAGGER_VERSION = '2.0.1'

compile "com.google.dagger:dagger:$DAGGER_VERSION"
annotationProcessor 'com.google.guava:guava:19.0'
annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'org.glassfish:javax.annotation:10.0-b28'

在花了一些时间之后,我修复了将guava依赖项添加为dagger编译器上方的annotationProcessor的问题

final DAGGER_VERSION = '2.0.1'

compile "com.google.dagger:dagger:$DAGGER_VERSION"
annotationProcessor 'com.google.guava:guava:19.0'
annotationProcessor "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'org.glassfish:javax.annotation:10.0-b28'

我与
'com.google.guava:guava:19.0'
有相同的配置,但出现以下错误:

Error:Execution failed for task ':mobile:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.filterKeys(Lcom/google/common/collect/SetMultimap;Lcom/google/common/base/Predicate;)Lcom/google/common/collect/SetMultimap;
我试图将番石榴的版本更新到当时的
'com.google.guava:guava:22.0'
版本,但错误仍然存在


我改成了
'com.google.guava:guava:21.0'
,效果很好。可能与其他版本不兼容

我的配置与
'com.google.guava:guava:19.0'
相同,但我有以下错误:

Error:Execution failed for task ':mobile:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.google.common.collect.Multimaps.filterKeys(Lcom/google/common/collect/SetMultimap;Lcom/google/common/base/Predicate;)Lcom/google/common/collect/SetMultimap;
我试图将番石榴的版本更新到当时的
'com.google.guava:guava:22.0'
版本,但错误仍然存在

我改成了
'com.google.guava:guava:21.0'
,效果很好。可能与其他版本不兼容