2014-05-09 1 views
3

난 그냥 내 안드로이드 프로젝트에 Ormlite을 추가하고 난 다음과 오류 얻을 :Ormlite 여러 덱스는

Error:Execution failed for task ':AgCelence:dexDebug'. 
    > com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
    /my/home/path/apps/Android/sdk/build-tools/19.0.3/dx --dex --output /my/home/path/workspace/my/project/path/build/dex/debug 
    /my/home/path/workspace/my/project/path/build/classes/debug 
    /my/home/path/workspace/my/project/path/build/dependency-cache/debug 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/butterknife-4.0.1-5a7b9ed780d5fa0603abb39fdc181c512fa9b1c3.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/classes-1a1090f3a59a705e7e344c2ae25b0c5f88f721d6.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/classes-edaf04f87f77ab0f4105648ab63bdcd09694eb0d.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/dagger-1.2.1-212943657b662e900a542e2d88abbd5fdcaf8d33.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/flurry-3.4.0-6b0fea36afcc1a3b450e16a58c03d9869b754f02.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/gson-2.2.4-3d9d795bb76d7955fd85ce17556cc505830bd1f7.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/javax.inject-1-e8f1138f6c9c0f8271805129c6151ff544950b34.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/ormlite-android-4.9-5eaa7600b65948820881b78781d30698f1033ff5.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/ormlite-core-4.9-25352cf2f40621c7a86eff7f10a40c6a66cdf76a.jar 
    /my/home/path/workspace/my/project/path/build/pre-dexed/debug/support-v4-19.1.0-8212ff791cfaeb109a87aa612d03eec280361949.jar 
Error Code: 
    2 
Output: 
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexException: Multiple dex files define Lcom/j256/ormlite/dao/CloseableIterable; 
     at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) 
     at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) 
     at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) 
     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) 
     at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 
     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) 
     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) 
     at com.android.dx.command.dexer.Main.run(Main.java:230) 
     at com.android.dx.command.dexer.Main.main(Main.java:199) 
     at com.android.dx.command.Main.main(Main.java:103) 

내 'build.gradle'

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.3' 
    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 19 
     versionCode 1 
     versionName '0.1.0' 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':porquenaotoolkit') 
    compile project(':libraries:twoway-view:TwoWayView') 
    compile 'com.android.support:support-v4:19.+' 
    compile 'com.squareup.dagger:dagger:1.2.+' 
    compile 'com.jakewharton:butterknife:4.0.+' 
    compile 'com.google.code.gson:gson:2.2.+' 
    compile 'com.j256.ormlite:ormlite-android:4.9' 
} 

porquenaotoolkit의 build.gradle를 :

apply plugin: 'android-library' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.3" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 19 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.jakewharton:butterknife:4.0.+' 
    compile 'com.google.code.gson:gson:2.2.+' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

TwoWayView의 build.gradle :

apply plugin: 'android-library' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'com.android.support:support-v4:18.0.+' 
} 

android { 
    compileSdkVersion 16 
    buildToolsVersion "19.0.0" 
} 

누구나 어떻게이 문제를 해결할 수 있는지 알 수 있습니까 ??? 내 build.gradle에서 compile 'com.j256.ormlite:ormlite-android:4.9' 줄을 제거하면 문제가 발생하지 않지만이 라이브러리를 사용하고 이것을 관리하기 위해 gradle을 사용하고 싶습니다. ...

답변

5

내 문제를 해결하여 내 문제를 해결합니다. build.gradle에서 :

compile 'com.android.support:support-v4:19.+' 
compile 'com.j256.ormlite:ormlite-android:4.9' 

행 :

buildToolsVersion "19.0.0" 
compile 'com.android.support:support-v4:18.0.+' 
0

compile 'com.android.support:support-v4:19.1.0' 
compile 'com.j256.ormlite:ormlite-android:4.48' 

로부터 TwoWayView build.gradle의 라인을 변경

에 :

buildToolsVersion "19.0.3" 
compile 'com.android.support:support-v4:19.1.0' 

그것은 안드로이드 스튜디오하여 여러개의 덱스 파일 문제가 해결되지 않는 유감 ... 라이브러리 항아리 파일을 지원 differents의의 문제 seens ... 나는이의 문제를 많이 참조 유형.

+0

이 특정 문제는 ormlite : ormlite : core에 따라 다릅니다. 둘 다 동일한 클래스를 정의합니다. http://search.maven.org/#search%7Cga%7C1%7Cfc%3A%22com.j256.ormlite.dao.CloseableIterable%22 –

+0

네,하지만 어떻게 해결할 수 있습니까? – Goddchen

+0

@ Goddchen 나는 그것이 gradle 버그라고 생각한다. 우리는 할 일이별로 없습니다. – ademar111190