Dagger和Butterknife两个注解框架算是比较火的了,但是如果两个框架混在一起,那就会出现一些让人意料不到的效果?
这几天,开始研究Dagger,我这个人比较懒,所以呢,在学习这个框架的时候,直接把框架引入到我以前的项目中,结果一来就出问题了,报错了。我靠,写了大半天,结果你说报错了?坑我啊!!!!
没错,就是会报错,Dagger与Butterknife之间存在冲突。在网上插了一些资料,但是,都没有解决这个问题,我好烦,别和我说话,我只想静静的待会。
Error: Execution failed for task ': app: dexRelease'. Com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command' C: \ Program Files \ Java \ jdk1.8.0_31 \ bin \ java.exe '' finished with a non -zero exit value 2
这是几个意思?把这句话刷到百度上,根本就没有什么效果。天无绝人之路,终于在网上找到了相关的解决方案:
一、在app的build.gradle中添加一下代码:
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
二、将dagger-compiler和annotation修改成:
provided 'com.google.dagger:dagger-compiler:2.6.1'
provided 'org.glassfish:javax.annotation:10.0-b28'
好了,dagger与Butterknife冲突问题就解决了。
感谢一座城池2012提供的解决方案。