พบมากกว่าหนึ่งไฟล์ด้วยพา ธ อิสระของ OS 'META-INF / LICENSE'


332

เมื่อฉันสร้างแอพของฉันฉันได้รับข้อผิดพลาดดังต่อไปนี้:

ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': แอป: transformResourcesWithMergeJavaResForDebug' พบมากกว่าหนึ่งไฟล์ด้วยพา ธ อิสระของ OS 'META-INF / LICENSE'

นี่คือไฟล์ build.gradle ของฉัน:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "cn.sz.cyrus.kotlintest"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        javaCompileOptions{
            annotationProcessorOptions{
                includeCompileClasspath = true
            }
        }
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
 /*       exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'*/
    }
}

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 "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
    compile 'com.github.GrenderG:Toasty:1.2.5'
    compile 'com.orhanobut:logger:1.15'

    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.umeng.analytics:analytics:latest.integration'
    compile 'ai.api:libai:1.4.8'
    compile 'ai.api:sdk:2.0.5@aar'
// api.ai SDK dependencies
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'commons-io:commons-io:2.4'
    compile 'com.android.support:multidex:1.0.1'
}

เมื่อฉันเพิ่มรหัสนี้ไปยังไฟล์ build.gradle ของฉัน

  packagingOptions {
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
        }

ข้อผิดพลาดนี้จะได้รับการแก้ไข แต่ปัญหาอื่นจะเกิดขึ้น แบบนี้:

java.lang.NoClassDefFoundError: com.squareup.leakcanary.internal.HeapAnalyzerService
at com.squareup.leakcanary.LeakCanary.isInAnalyzerProcess(LeakCanary.java:145)
at cn.sz.cyrus.wemz.TestApplication.onCreate(TestApplication.kt:32)

ใครมีแนวคิดในการแก้ไขปัญหานี้


ฉันประสบปัญหาเดียวกันเมื่อเข้าถึงห้องสมุดลูกค้า Google API สำหรับ Android แก้ไขปัญหาโดยไม่รวมโมดูล HttpClient จากการอ้างอิงแบบไล่ระดับ อ้างถึงเอกสารของ Google สำหรับรายละเอียดเพิ่มเติมdevelopers.google.com/api-client-library/java/… ค้นหาหน้าเอกสารด้วย "ใน Android คุณจะต้องแยกการอ้างอิงที่ไม่ได้ใช้อย่างชัดเจน:"
mifthi

คำตอบ:


493

คุณสามารถเพิ่มสิ่งนี้yourProject/app/build.gradleเข้าไปข้างในandroid{}

android {      
      packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        exclude("META-INF/*.kotlin_module") 
      }          
}

23
คุณช่วยอธิบายได้ไหมว่าทำไมสิ่งนี้ถึงได้ผลและความหมายของ "META-INF" คืออะไร? ขอบคุณ!
Shreshth Kharbanda

@CodeSlave ทำให้เกิดปัญหากับ apk หากเราไม่ได้ยกเว้นไฟล์เหล่านี้จากgoogle.github.io/android-gradle-dsl/current/… ยกเว้นเส้นทางที่ตรงกับรูปแบบการยกเว้นจะไม่รวมอยู่ใน APK อย่างที่ฉันรู้ ฉันยังไม่มีความคิดที่สมบูรณ์เกี่ยวกับปัญหานี้
Shaaban Ebrahim

11
ขณะนี้อาจตอบคำถามได้ดีกว่าที่จะเพิ่มคำอธิบายเกี่ยวกับวิธีที่คำตอบนี้อาจช่วยแก้ปัญหา โปรดอ่านฉันจะเขียนคำตอบที่ดีเพื่อทราบข้อมูลเพิ่มเติมได้อย่างไร
Roshana Pitigala

3
ในกรณีของฉันฉันต้องเพิ่ม 'META-INF / LICENSE.md' และ 'META-INF / LICENSE-notice.md'
Klyner

1
เพิ่มการยกเว้น ("META-INF / *. kotlin_module") ในรายการ packaginOptions
Jaspal

129

ในกรณีของฉันมันก็มากพอที่จะไม่รวมเฉพาะเส้นทาง 'META-INF / DEPENDENCIES' ใน ภายในyourProject/app/build.gradle android{}นี่มันคือ

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
}

จากนั้นทำ Clean Project และสร้างโครงการใหม่


11
ลองยกเว้น 'META-INF / DEPENDENCIES' แทนยกเว้น 'META-INF / LICENSE'
Pelanes

7
โปรดอธิบาย
โมฮัมหมัดอาลี

1
@SilSur แยกไฟล์ดังกล่าวซึ่งทำให้คุณมีข้อผิดพลาดเหมือนในรหัสข้อผิดพลาดเดียวกันสำหรับ "META-INF / proguard / androidx-annotations.pro" ไฟล์นี้จากนั้นฉันเพิ่มการยกเว้น 'META-INF / proguard / androidx-annotations โปร 'และการทำงานของมัน
Gunavant Patel

4
ขณะนี้อาจตอบคำถามได้ดีกว่าที่จะเพิ่มคำอธิบายเกี่ยวกับวิธีที่คำตอบนี้อาจช่วยแก้ปัญหา โปรดอ่านฉันจะเขียนคำตอบที่ดีเพื่อทราบข้อมูลเพิ่มเติมได้อย่างไร
Roshana Pitigala

คุณไม่จำเป็นต้องทำความสะอาดเพียงแค่ซิงค์ไฟล์ gradle
steve moretz

75

วิธีแก้ปัญหาที่นี่ไม่ได้ช่วยฉัน แต่ลิงค์นี้ทำได้

หากคุณมีห้องสมุดที่เพิ่มไฟล์ android .so เช่น - libassmidi.soหรือlibgnustl_shared.so- คุณต้องบอกให้gradleเลือกหนึ่งไฟล์เมื่อบรรจุภัณฑ์มิฉะนั้นคุณจะได้รับความขัดแย้ง

android {
  packagingOptions {
    pickFirst 'lib/armeabi-v7a/libassmidi.so'
    pickFirst 'lib/x86/libassmidi.so'
  }
}

ฉันมีปัญหานี้เมื่อใช้แอป React Native เป็นห้องสมุดในโครงการ Android หวังว่ามันจะช่วย


2
ขอบคุณฉันมีปัญหาเดียวกันกับไฟล์. so เพียงไฟล์เดียว มีไฟล์อื่นที่เรียกว่า gdbserver ในโฟลเดอร์เดียวกันและหลังจากเพิ่ม packageOptions สำหรับไลบรารี่ที่ใช้งานได้ทันที
Mr. Fish เมื่อ

1
ขอบคุณ! ช่วยเมื่อฉันมี JNA aar ในฐานะการพึ่งพาซ้อนกัน
faisal00813

31

มีข้อความที่คล้ายกัน

ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': แอป: transformResourcesWithMergeJavaResForDebug' พบมากกว่าหนึ่งไฟล์พร้อมเส้นทางอิสระ OS 'constant-values.html'

ในการแก้ไขปัญหานั้นฉันต้องเปิดใช้งานแพคเกจดู ( 1 ) ใน Android Studio จากนั้นเรียกดูทรีไปยังไลบรารีและค้นหารายการที่ซ้ำกัน ( 2 )

จากนั้น ctrl + alt + f12 (หรือเมนู RMB) ( 3 ) - และพบห้องสมุดที่ทำให้เกิดปัญหา ทำรายการไฟล์ภายใน libs ที่ทำให้เกิดปัญหาและเขียนลงในไฟล์ build.gradle ของแอพในส่วนandroid ตัวเลือกอื่นคือจัดการกับไลบรารีที่มีไฟล์ซ้ำกัน

packagingOptions {
    exclude 'allclasses-frame.html'
    exclude 'allclasses-noframe.html'
    <..>

ป้อนคำอธิบายรูปภาพที่นี่


1
คุณ "จากนั้นเรียกดูต้นไม้ไปยังห้องสมุดและค้นหารายการที่ซ้ำกัน" ได้อย่างไร คุณไปดูไฟล์ทั้งหมดในโฟลเดอร์ทั้งหมดหรือไม่?
นักพัฒนา Android

1
ฉันยังสับสนเกี่ยวกับ "ค้นหารายการที่ซ้ำกัน" อาจมีรายการย่อย 100 รายการในแอป / ห้องสมุด ... เราจะค้นหารายการที่ซ้ำกันอย่างไร
Freewalker

28

โดยทั่วไปเมื่อ gradle รวบรวมไฟล์ apk มันจะคัดลอกเนื้อหาจากการพึ่งพาการคอมไพล์ทั้งหมดมันฉลาดพอที่จะเห็นว่ามีไฟล์ที่ซ้ำกัน อาจเป็นไฟล์ใดก็ได้เช่น a.txt หรือ META-INF / DEPENDENCIES อาจเป็นการดีที่สุดที่จะไม่รวมไฟล์เหล่านี้โดยใช้ด้านล่างในกรณีที่ไฟล์นั้นมีอยู่เพื่อการให้ข้อมูลเท่านั้น

android{
    packagingOptions {
       exclude 'META-INF/DEPENDENCIES'
    }
}

หรือถ้าในกรณีไฟล์นั้นเป็นไฟล์บังคับเช่นไฟล์คลาสที่มีการทำซ้ำระหว่างการอ้างอิง jar สองรายการที่เกี่ยวข้องกันควรหาทางเลือกอื่นสำหรับไหเหล่านี้ในทางที่เป็นเวอร์ชั่นที่เข้ากันได้มากกว่า


เมื่อฉันเพิ่มลงในโครงการของฉันฉันได้รับข้อผิดพลาดอีกครั้งซึ่งฉันไม่สามารถแก้ไขได้อีก! ทางออกอื่น ๆ ?
hetsgandhi

Hetvi Gandhi เกิดข้อผิดพลาดอะไรขึ้น?
ank

20

ฉันมีปัญหาเดียวกันและลองสิ่งนี้

ข้อผิดพลาด: พบไฟล์มากกว่าหนึ่งไฟล์ที่มีพา ธ อิสระของระบบปฏิบัติการ 'META-INF / proguard / androidx-annotations.pro'

การแก้ไข: สิ่งที่คุณต้องทำเพื่อแก้ไขปัญหานี้คือการเพิ่มสิ่งนี้ลงในส่วน android {} ใน 'build.gradle' ของแอปของคุณ

packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
}

18

สิ่งนี้เกิดขึ้นเมื่อใช้งาน

org.jetbrains.kotlinx: kotlinx-coroutines-core: 1.2.0

และได้รับการแก้ไขในเวอร์ชั่นถัดไป

org.jetbrains.kotlinx: kotlinx-coroutines-core: 1.2.1


1
ปัญหาที่คล้ายกันกับ org.jetbrains.kotlinx: kotlinx-coroutines-core: 1.3.6 ซึ่งเป็นรุ่นล่าสุดในตอนนี้ ต้องลดระดับ
Farhan Patel

ใช่ปัญหาเดียวกันวันที่ 1.3.6
Shefchenko

17

ฉันได้พบข้อผิดพลาดเดียวกันและผมพบว่ามันเป็นผลมาจากโมดูลที่แตกต่างกันมีชั้นเรียนเดียวกันจากแพคเกจที่แตกต่างกัน

เช่นแพคเกจ androidx หนึ่งที่ใช้และอื่น ๆ ที่ใช้ pre-androidx

ฉันแก้ไขได้โดยการโอนย้ายโมดูล pre-androidx ไปเป็น androidx โดยใช้คุณสมบัติในตัวของ Android Studio: "Refactor -> ย้ายไปยัง Androidx ... "โดยไม่รวมอะไรเลย


สำหรับสถานการณ์ของคุณคุณอาจตรวจสอบว่าคุณมีการพึ่งพาที่ไม่ตรงกันระหว่างโมดูลหรือไม่


1
อย่าลืมสำรองข้อมูลเวอร์ชันปัจจุบันของโครงการของคุณเนื่องจากการย้ายไปยัง AndroidX อาจทำให้โปรเจคของคุณพัง!
Kathir

12

ฉันได้อ่านคำตอบทั้งหมดที่เกี่ยวข้องกับการรับข้อความนี้ในAndroid Studio:

พบมากกว่าหนึ่งไฟล์ด้วยพา ธ อิสระของ OS 'META-INF / LICENSE'

แต่ในกรณีนี้การยกเว้นคลาสไม่มีความจำเป็นเราจำเป็นต้องแยกออก'META-INF/DEPENDENCIES'ซึ่งสามารถทำได้ภายใน/app/build.gradle:

android{
    ...
    ...
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }

}

สิ่งนี้ได้รับการบอกกล่าวในคำตอบอื่น ๆ อีกหลายร้อยคำตอบเกี่ยวกับ SO
Atul

11

ฉันอัพเดต Studio จาก Java 7 เป็น Java 8 และปัญหานี้เกิดขึ้น จากนั้นฉันก็แก้มันด้วยวิธีนี้:

android {
    defaultConfig {
    }
    buildTypes {
    }
    packagingOptions{
        exclude 'META-INF/rxjava.properties'
    }
}

8

ฉันเป็นแอพของฉันฉันกำลังเพิ่มการพึ่งพา jar เช่นนี้:

implementation files('libs/json-simple-1.1.1.jar')

แต่ฉันรู้ว่ามันถูกเพิ่มไปแล้วเนื่องจากการขึ้นบรรทัดแรกต่อไปนี้:

implementation fileTree(include: ['*.jar'], dir: 'libs')

บรรทัดนี้เพิ่มไหทั้งหมดในโฟลเดอร์ lib เพื่อการพึ่งพาของแอพ

ดังนั้นหลังจากลบการพึ่งพาพิเศษ implementation files('libs/json-simple-1.1.1.jar')

มันทำงานได้ดี


สิ่งนี้มีประโยชน์ แต่ไม่เกี่ยวข้องกับคำตอบ ในไลบรารีคุณจะพบไฟล์ meta-folder META-INF ซึ่งสามารถคล้ายกันในชื่อและรูปแบบ สิ่งเหล่านี้ทำให้เกิดปัญหาไฟล์ซ้ำจึงต้องถูกลบออก
Abhinav Saxena

7

ฉันประสบปัญหาคล้ายกันที่ทำงานในสภาพแวดล้อมแอพโมดูลหลายตัว:

ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': แอป: transformResourcesWithMergeJavaResForDebug' พบมากกว่าหนึ่งไฟล์ด้วยพา ธ อิสระของ OS 'META-INF / AL2.0'

ปัญหานี้กำลังถูกรายงานโดยโมดูลหลายตัวของฉันและไม่มีการแก้ไขปัญหาใด ๆ ข้างต้นที่แก้ไขได้ กลับกลายเป็นว่าฉันใช้เวอร์ชัน Coroutines 1.3.6 ซึ่งดูเหมือนว่าจะฝัง META-INF / AL2.0 ซึ่งถูกฝังอยู่แล้วโดยห้องสมุดอื่นที่ฉันใช้อยู่ ในการแก้ไขปัญหาฉันได้เพิ่มข้อมูลโค้ดต่อไปนี้ใน build.gradle ของโมดูลที่ล้มเหลว:

configurations.all {
    resolutionStrategy {
        exclude group: "org.jetbrains.kotlinx", module: "kotlinx-coroutines-debug"

    }
}

เนื่องจากมันเกิดขึ้นในหลาย ๆ โมดูลฉันได้ย้ายresolutionStrategyรหัสนั้นไปยัง build.gradle ระดับโครงการของฉัน ทุกอย่างทำงานหลังจากนั้น


4

ฉันมีปัญหาเดียวกันและลองทำสิ่งนี้

ข้อผิดพลาด: พบไฟล์มากกว่าหนึ่งไฟล์ที่มีพา ธ อิสระของระบบปฏิบัติการ 'META-INF / library_release.kotlin_module'

สารละลาย:

android {
    packagingOptions {
    exclude 'META-INF/library_release.kotlin_module'
    }
}

3

ฉันมีปัญหาที่คล้ายกัน ฉันได้รับข้อความแสดงข้อผิดพลาด -

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

More than one file was found with OS independent path 'javax/annotation/WillCloseWhenClosed.java'

ตามที่ระบุไว้ในคำตอบบางส่วนด้านบนการใช้งานโค้ดด้านล่าง

'packagingOptions {
       exclude 'allclasses-frame.html'
    }'

แต่ฉันได้รับข้อผิดพลาดนี้สำหรับไฟล์ต่าง ๆ 20 ไฟล์ดังนั้นหลังจากยกเว้นไฟล์ 20 ไฟล์ฉันหยุดและพยายามหาวิธีแก้ปัญหาที่เหมาะสม ฉันได้พบกับ

'Unable to execute dex: Multiple dex files' error.

ในที่สุดฉันก็สามารถแก้ปัญหานี้ได้

ประการแรก (ในกรณีของฉัน WillCloseWhenClosed.java เป็นไฟล์ที่ซ้ำกัน) ใน Android studio คุณมีตัวเลือก 'ค้นหาได้ทุกที่' เขียนและค้นหาไฟล์ที่นั่น ฉันพบไฟล์นี้หลายอินสแตนซ์ ดังนั้นฉันคลิกทั้งสองอินสแตนซ์และดูตำแหน่งของพวกเขาโดยคลิกขวาที่ไฟล์และดูตำแหน่งเมื่อเปิดในสตูดิโอ Android

ประการที่สองฉันพบว่าฉันมีการอ้างอิงบางอย่างในไฟล์ gradle ฉันใช้รหัสด้านล่าง

dependencies {
    compile 'com.google.api-client:google-api-client:1.23.0'
}

และฉันก็มีแพ็คเกจซิปเดียวกันในที่ตั้ง: \ Users \ user \ AndroidStudioProjects \ git \ appname \ app \ libs \ google-http-client-1.23!

นี่คือสิ่งที่ซ้ำซ้อนและนั่นคือสาเหตุที่ gradle ค้นหาไฟล์ 2 ไฟล์ ดังนั้นฉันจึงลบแพ็กเกจไปรษณีย์และแก้ไขข้อผิดพลาดสำหรับฉัน ระวังขณะทำสิ่งนี้ คุณต้องคิดออกว่าเป็นไฟล์หรือแพคเกจที่ถูกต้องที่จะลบ

ประการที่สาม gradle ยังสร้างไฟล์บั๊กเหล่านี้ในตำแหน่งนี้ (อย่างน้อยสำหรับฉัน) - C: \ Program Files \ Android \ Android Studio \ gradle \ m2repository \ com \ google \ code \ findbugs \ jsr305 \ 1.3 9 \ jsr305-1.3.9.jar!

ดังนั้นฉันจึงไปและลบไฟล์ jsr305-1.3.9.jar จากที่นี่ด้วย

หากคุณยังสับสนอยู่ให้ไปที่ "ค้นหาทุกที่" ใน android studio ค้นหาอินสแตนซ์ของไฟล์ของคุณที่นั่นและคุณต้องลบไฟล์ใดไฟล์หนึ่ง ใช้เวลาของคุณและคิดว่าอันไหน



1

ฉันประสบปัญหานี้ก่อนอื่นด้วยไลบรารีดั้งเดิม (ไฟล์. so) และไฟล์ java / kotlin กลับกลายเป็นว่าฉันรวมไลบรารีจากแหล่งข้อมูลรวมถึงการอ้างอิงสิ่งประดิษฐ์ผ่านการพึ่งพาสกรรมกริยา ตรวจสอบแผนภูมิการพึ่งพาของคุณเพื่อดูว่ามีรายการที่ซ้ำซ้อนหรือไม่ ใช้./gradlew :app:dependenciesเพื่อรับแผนผังการพึ่งพา แทนที่ "แอพ" ด้วยชื่อโมดูลของคุณหากชื่อโมดูลหลักแตกต่างกัน



1

เพิ่มการติดตามในไฟล์ gradel ระดับแอปภายใน android {}

packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        exclude("META-INF/*.kotlin_module") 
      } 

0

ลองลบ multidex ออกจากการกำหนดค่าเริ่มต้นและตรวจสอบบันทึกข้อผิดพลาดของบิลด์ ถ้าบันทึกนั้นเกี่ยวข้องกับคลาส INOTification ใช้สิ่งนี้ใน Android {}

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

สิ่งนี้ช่วยฉัน


0

สำหรับฉันด้านล่างโซลูชันทำงานคุณอาจได้รับความช่วยเหลือฉันเขียนบรรทัดด้านล่างในไฟล์ gradle ของแอพ

  packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }

0

ฉันถูกต่อสายแล้ว แต่โปรเจ็กต์ของฉันถูกโอนย้ายไปเป็น AndroidX แล้ว แต่หลังจากย้ายไปยัง androidX อีกครั้งจะทำให้ส่วนหนึ่งของโปรเจ็กต์ของฉันหายไปและปัญหาได้รับการแก้ไข


0

เพิ่มรหัสด้านล่างใน app.gradle นี้จะแก้ข้อผิดพลาดในการพึ่งพาห้องสมุดทั้งหมด

   packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/ASL2.0'
    exclude("META-INF/*.kotlin_module")
    exclude 'META-INF/library_release.kotlin_module'
    pickFirst 'lib/armeabi-v7a/libavdevice.so'
    pickFirst 'lib/armeabi/libavdevice.so'
    pickFirst 'lib/armeabi/libswresample.so'
    pickFirst 'lib/armeabi-v7a/libswresample.so'
    pickFirst 'lib/armeabi/libswscale.so'
    pickFirst 'lib/armeabi/libavcodec.so'
    pickFirst 'lib/armeabi-v7a/libavutil.so'
    pickFirst 'lib/armeabi/libavutil.so'
    pickFirst 'lib/armeabi-v7a/libavformat.so'
    pickFirst 'lib/armeabi/libavfilter.so'
    pickFirst 'lib/armeabi/libavformat.so'
    pickFirst 'lib/armeabi-v7a/libavcodec.so'
    pickFirst 'lib/armeabi-v7a/libswscale.so'
    pickFirst 'lib/armeabi/libpostproc.so'
    pickFirst 'lib/armeabi-v7a/libpostproc.so'
    pickFirst 'lib/armeabi-v7a/libavfilter.so'
}


-1

ในคำตอบมากมายเกี่ยวกับ SO เกี่ยวกับปัญหานี้มันได้รับการแนะนำให้เพิ่มexclude 'META-INF/DEPENDENCIES'และอื่น ๆ ไม่รวม อย่างไรก็ตามสิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน ในสถานการณ์กรณีของฉันเป็นเช่นนี้

ฉันได้เพิ่มสิ่งนี้ในการพึ่งพา:

implementation 'androidx.annotation:annotation:1.1.0'

และฉันได้เพิ่มสิ่งนี้ลงใน gradle.properties:

android.useAndroidX=true

ฉันได้เพิ่มทั้งสองอย่างนี้เนื่องจากฉันได้รับข้อผิดพลาดในการสร้าง 'ไม่พบคลาสสัญลักษณ์ Nullable' และแนะนำให้ใช้เป็นคำตอบสำหรับคำตอบบางส่วนเช่นที่นี่

อย่างไรก็ตามในที่สุดฉันก็พบข้อผิดพลาด:

 More than one file was found with OS independent path 'androidsupportmultidexversion.txt'

ไม่excludeทำงานสำหรับฉัน ในที่สุดฉันเพิ่งลบบรรทัดที่เพิ่มข้างต้นออกจากความสงสัย (แก้ไข 'ไม่พบคลาสสัญลักษณ์ Nullable' ด้วยวิธีอื่น) และในที่สุดฉันก็กำจัด "พบไฟล์มากกว่าหนึ่งไฟล์ในระบบปฏิบัติการ ... " ฉันเสียเวลาของฉัน แต่ในที่สุดก็กำจัดมันออกไป


-1

คุณเพียงแค่ต้องทำให้แคช & เริ่มใช้งานไม่ได้หลังจากล้างข้อมูลโครงการแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.