2017-11-17 19 views
1

현재 ButterKnife과 단검이 충돌

compile "com.google.dagger:dagger:2.0.1" 
apt "com.google.dagger:dagger-compiler:2.0.1" 

compile "com.jakewharton:butterknife:8.8.1" 
apt 'com.jakewharton:butterknife-compiler:8.8.1' 

을 가지고 있고 나는 그것이 작동 컴파일 사용하는 두 단검 문을 전환하면 결과적으로 내 프로젝트는

import com.google.common.base.Charsets; 
import com.google.common.io.CharStreams; 

을 찾을 수 있지만, 내 robolectric 테스트가 실패합니다. 누구라도 조언을하나요?

+0

왜이 두 가지를 사용하고 있습니까? 일반적으로 당신은 하나 또는 다른 것을 선택합니다. –

+0

무엇을 모두? 각 설정은 문서에 의해 권장되는 내용입니다 – 1tSurge

+0

일반적으로 두 개의 주입 프레임 워크를 사용하지 않습니다. 보통 하나 또는 다른 사람 –

답변

0

해결 방법 : IDE에서 annotationProcessing을 사용하도록 설정하면 여러 가지 항목이 중단되지만, 사용 중지하면 모든 것이 작동합니다.

0

첫 번째 발언은 상당히 오래된 종속성입니다. 2.x android gradle plugin은 Hugo의 apt 플러그인을 쓸모 없게 만듭니다. 또한 단검 버전은 현재 2.13에 가깝습니다.

대거 컴파일러에 대한 전이 종속성 인 Guava 라이브러리에서 가져온이 두 가지 가져 오기가 있습니다.

그냥 testCompile "com.google.guava:guava:23.0"을 추가하면 구아바 버전의 충돌이 발생하지 않는 한 대부분 해결 될 것이므로 해결 방법을 업데이트해야합니다.