私は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'
}
、エラーが解決しない、と悪化し、新しいエラーは、コンパイラが必要なファイルを見つけることができないときに表示されます。 1つの質問:排除するのではなく、pickfirstタイプの指示を使用する方が良いでしょうか?だから、どんなアイデアですか?ありがとう。代わりに、この
packagingOptions {
exclude 'META-INF/VERSION' // or: pickfirst...?
exclude 'META-INF/VERSION.txt'
exclude 'META-INF/version.txt'
}
の
が重複する可能性を試してみてください:/ Mavenの/ 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
HadjKhelil Nawrez:あなたは右。適切なpackagingOptionsを追加するだけでなく、fileTree(dir: 'libs'、include: '* .jar')をコンパイルする必要がありました。 –