2014-11-18 2 views
2

이 예외를 해결하기 위해 노력하고 있습니다. 나는 intellij에 2 개의 안드로이드 프로젝트를 가지고있다. 라이브러리 및 샘플. 여러 dex 파일에서 Lcom/google/inject/Module을 정의합니다.

도서관의 deps

는 다음과 같습니다

compile('com.inepex.simpleclient:SimpleClientImpl:0.9.4') { 
     exclude module: 'guice-assistedinject' 
     exclude module: 'guice' 
     exclude module: 'ormlite-core' 
    } 
    compile 'org.roboguice:roboguice:[email protected]' 
    compile 'com.google.inject:guice:3.0:no_aop' 
    compile 'com.fasterxml.jackson.core:jackson-databind:2.4.0' 
    compile 'org.slf4j:slf4j-android:[email protected]' 
    compile 'com.j256.ormlite:ormlite-android:4.45' 
    compile 'com.android.support:support-v4:19.1.0' 
    compile 'com.google.code.gson:gson:2.2.+' 

샘플 응용 프로그램 deps : 샘플

compile 'com.android.support:appcompat-v7:19.1.0' 
compile 'com.android.support:gridlayout-v7:19.1.0' 
compile project(':library') 

Gradle을 종속 출력 :

+--- com.android.support:appcompat-v7:19.1.0         
| \--- com.android.support:support-v4:19.1.0 
+--- com.android.support:gridlayout-v7:19.1.0 
| \--- com.android.support:support-v4:19.1.0 
\--- project :library    
    +--- com.inepex.simpleclient:SimpleClientImpl:0.9.4 
    | +--- com.j256.ormlite:ormlite-jdbc:4.45 
    | +--- io.netty:netty:3.5.7.Final 
    | \--- com.google.guava:guava:17.0 
    +--- org.roboguice:roboguice:3.0.1 
    +--- com.google.inject:guice:3.0 
    | +--- javax.inject:javax.inject:1 
    | +--- aopalliance:aopalliance:1.0 
    | \--- org.sonatype.sisu.inject:cglib:2.2.1-v20090111 
    |   \--- asm:asm:3.1  
    +--- com.fasterxml.jackson.core:jackson-databind:2.4.0 
    | +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0 
    | \--- com.fasterxml.jackson.core:jackson-core:2.4.0 
    +--- org.slf4j:slf4j-android:1.6.1-RC1 
    +--- com.j256.ormlite:ormlite-android:4.45 
    | \--- com.j256.ormlite:ormlite-core:4.45 
    +--- com.android.support:support-v4:19.1.0 
    \--- com.google.code.gson:gson:2.2.+ -> 2.2.4 

문제는 내가 닷컴을 찾을 수 있다는 것입니다 .google.inject.Module이 한 번 이상 나오고 예외가 다중 정의됨을 알립니다. 그것은 guice.3.0-no_aop.jar에 있습니다. 사전

발린에서

덕분에 샘플 응용 프로그램 deps에서

+0

다음을 제거하십시오. 'com.android.support:support-v4:19.1.0'을 sample app deps에서 컴파일하십시오. –

답변

2

멀티 덱스 구성

를 실행합니다. incremental true을 포함해서는 안됩니다.

각 코드 변경 후이 오류가 발생하여 Android Studio에서 계측 테스트를 수행하지 못했습니다. 이 속성을 제거 할 때까지 각 실행 전에 프로젝트를 정리해야했습니다.

(false로이 속성은 기본적으로 거기 아니에요 그래서 만약 당신이 괜찮아요)이 덱스 옵션을 찾기 중복 종속성에 대한 What does the "Incremental Dex" option in Android Studio do?

을 확인하는 일에 대한 자세한 내용은

dexOptions { 
     incremental false 
     javaMaxHeapSize '4g' 
    } 

gradle을 사용하면 종속성 트리를 만들 수 있습니다. 이 나무는 끝에 별표가있는 명백한 중복을 표시합니다. 예 : (비록 불완전 계측 샘플 프로젝트)

./gradlew dependencies Application:dependencies 

예시 출력 org.jacoco.core 의존성이 회 여기에 열거 및 표시 방법

_debugApk - ## Internal use, do not manually configure ## 
\--- com.android.support:support-v4:21.0.2 
    \--- com.android.support:support-annotations:21.0.2 
_debugCompile - ## Internal use, do not manually configure ## 
\--- com.android.support:support-v4:21.0.2 
    \--- com.android.support:support-annotations:21.0.2 
_releaseApk - ## Internal use, do not manually configure ## 
\--- com.android.support:support-v4:21.0.2 
    \--- com.android.support:support-annotations:21.0.2 
_releaseCompile - ## Internal use, do not manually configure ## 
\--- com.android.support:support-v4:21.0.2 
    \--- com.android.support:support-annotations:21.0.2 
androidJacocoAgent - The Jacoco agent to use to get coverage data. 
\--- org.jacoco:org.jacoco.agent:0.7.1.201405082137 
androidJacocoAnt - The Jacoco ant tasks to use to get execute Gradle tasks. 
\--- org.jacoco:org.jacoco.ant:0.7.1.201405082137 
    +--- org.jacoco:org.jacoco.core:0.7.1.201405082137 
    | \--- org.ow2.asm:asm-debug-all:5.0.1 
    +--- org.jacoco:org.jacoco.report:0.7.1.201405082137 
    | +--- org.jacoco:org.jacoco.core:0.7.1.201405082137 (*) 
    | \--- org.ow2.asm:asm-debug-all:5.0.1 
    \--- org.jacoco:org.jacoco.agent:0.7.1.201405082137 

참고 (*).

-1

제거 지원-V4 LIB, 그것은 간접적으로 샘플 응용 프로그램 deps에 의해 확장 라이브러리의 deps에서 이미 사용할 수 있습니다. 프로젝트 다 덱스 구성이 Gradle을 설정에 덱스 옵션을 확인 사용하는 경우 테스트를 실패

+0

감사합니다. 나는 질문을 업데이트했지만 변경은하지 않았다. 지원은 appcompat와 gridlayout의 종속성입니다. 나는 그것이 문제 일 수 있다고 생각하지 않는다. –

관련 문제