2017-12-22 25 views
0

저는 ElasticSearch를 사용하는 Android 프로젝트에서 작업하고 있습니다. 앱을 디버그하려고하면 다음 오류가 발생합니다.바이트 코드를 dex Android 스튜디오로 변환하는 중 오류가 발생했습니다.

Error:Error converting bytecode to dex: 
Cause: com.android.dex.DexException: Multiple dex files define 
Lcom/google/gson/JsonSerializer; 

많은 관련 질문 및 해결책을 보았지만 작동하지 않습니다. 프로젝트를 지우고 디버깅을 시도했으나 작동하지 않습니다. 또한 프로젝트를 정리하고 프로젝트를 만들려고했지만 오류가 없지만 디버깅을 누르면 다시 같은 오류가 표시됩니다.

+0

귀하의 질문을 편집하여 귀하의 gradle 파일을 포함하십시오. – Jon

답변

1
defaultConfig { 

     applicationId "com.package_name" 
     minSdkVersion 15 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 

    } 

compile 'com.android.support:multidex:1.0.2' 

문제는 Class JsonSerializer가 중복 된 것으로 나타났습니다. 그래서 그 말은 여러 Dex 파일입니다. 하나 이상의 종속성에서 동일한 파일을 사용할 수 있습니다. 해결책이 될 수도 있습니다.

Shift 키를 두 번 연속 찾아 파일 창이 팝업 및 JSON 시리얼을 입력합니다. 이제 어떤 두 개의 jar 파일이 같은 클래스를 가지고 있는지 알 수 있습니다. 사용할 수없는 종속성을 제거하십시오.

+0

Class JsonSerializer가 중복 된 것으로 표시되는 문제가 있기 때문입니다. 그래서 그 말을 여러 Dex 파일 thats 왜 이런 식으로 구현하도록 요청. 그에게 해결책을 줄 수 있을지도 모른다. –

+1

감사합니다. 그러나 답변에서 업데이트 할 수 있습니까? – MZaragoza

+0

예 업데이트했습니다. –