2017-11-06 12 views
0

stackoverflow에서 비슷한 사례를 모두 연구했지만 제시된 해결책은 완전히 다릅니다. gradle 파일에 선언 된 종속성의 조합.Android Gradle : DuplicateFileException : 중복 된 파일이 APK com/fasterxml/jackson/core/json/VERSION.txt에 복사되었습니다.

나는 성공적으로 구축, 관리,하지만 난 앱을 실행하려고하면, 내가 얻을 :

오류 : 실행은 작업 실패 ': 응용 프로그램 : transformResourcesWithMergeJavaResForDebug를'.

com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK com/fasterxml/jackson/core/json/VERSION.txt

을 File1 : /media/barmistias/9668C07068C050A3/AndroidApps/LMMovies/app/libs/jackson-core-2.1.3.jar

있는 File2 : /home/barmistias/.gradle /caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.1.3/f6c3aed1cdfa21b5c1737c915186ea93a95a58bd/jackson-core-2.1.3.jar

그리고 내 Gradle을 파일입니다

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 27 
buildToolsVersion '27.0.0' 
defaultConfig { 
    applicationId "com.languagematerial.lmmovies" 
    minSdkVersion 21 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
productFlavors { 
} 
} 

repositories{ 
    mavenCentral() 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:27.0.0' 
compile 'com.android.support:recyclerview-v7:27.0.0' 
compile 'com.android.support:support-media-compat:27.0.0' 
compile 'com.android.support:support-v4:27.0.0' 
android { 
    configurations.all { 
     resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' 
    } 
} 
compile 'com.android.support:multidex:1.0.0' 

compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4' 
compile 'org.apmem.tools:layouts:[email protected]' 
compile 'com.github.wseemann:FFmpegMediaMetadataRetriever:1.0.14' 
compile 'com.nononsenseapps:filepicker:4.1.0' 
compile 'org.apache.commons:commons-io:1.3.2' 
testCompile 'junit:junit:4.12' 
compile files('libs/YouTubeAndroidPlayerApi.jar') 
compile 'pub.devrel:easypermissions:0.3.0' 
compile('com.google.api-client:google-api-client-android:1.23.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 
compile('com.google.apis:google-api-services-youtube:v3-rev186-1.23.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 
compile 'com.squareup.picasso:picasso:2.5.2' 
} 
이 문제를 해결하기 위해

가장 많이 사용 제안이 : 내 경우

packagingOptions{ 
    exclude 'META-INF/VERSION' // or: pickfirst...? 
    exclude 'META-INF/VERSION.txt' 
    exclude 'META-INF/version.txt' 
} 

는 오류가 계속 발생, 악화, 새로운 오류는 컴파일러가 필요한 파일을 찾을 수 없을 때 나타납니다. 한 가지 질문 : 제외 지침 대신 pickfirst 유형 지침을 사용하는 것이 더 좋지 않습니까? 그래서, 어떤 아이디어? 감사. 대신이

packagingOptions { 

     exclude 'META-INF/VERSION' // or: pickfirst...? 
     exclude 'META-INF/VERSION.txt' 
     exclude 'META-INF/version.txt' 

    } 

+0

가능한 복제를 시도 :/받는다는/com.fasterxml APK META-INF에 복사 된 파일을 중복 .jackson.core/jackson-databind/pom.xml] (https://stackoverflow.com/questions/37428636/com-android-builder-packaging-duplicatefileexception-duplicate-files-copied-in) – Nawrez

+0

HadjKhelil Nawrez : 당신은 권리. 올바른 솔루션을 추가했기 때문에 필자는 다음을 제거해야했습니다. fileTree (dir : 'libs', include : '* .jar')를 제거해야했습니다. –

답변

0

com.android.builder.packaging.DuplicateFileException [이

packagingOptions { 

    exclude 'META-INF/DEPENDENCIES.txt' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/notice.txt' 
    exclude 'META-INF/license.txt' 
    exclude 'META-INF/dependencies.txt' 
    exclude 'META-INF/LGPL2.1' 

    } 
+0

귀하의 기여에 감사드립니다. 나는 제안 된 코드를 구현했다. 작동 안함. 같은 오류가 남아 있습니다. 다른 제안? –