android - 找到路径为 'META-INF/LGPL2.11' 的 2 个文件

标签 android gradle android-testing android-jetifier

有人知道如何调试吗?我无法弄清楚哪些库正在产生问题。
旁注,它仅在我尝试运行 Android 测试时发生,所以我最好的猜测是它与某些测​​试库有关。


    testImplementation "androidx.room:room-testing:$version_room"
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
    // Compose Tests
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$version_compose"
    debugImplementation "androidx.compose.ui:ui-test-manifest:$version_compose"
    // Hilt test
    androidTestImplementation "com.google.dagger:hilt-android-testing:$version_hilt"
    kaptAndroidTest "com.google.dagger:hilt-android-compiler:$version_hilt"
    debugImplementation 'androidx.fragment:fragment-testing:1.3.6'
Execution failed for task ':app:mergeDebugAndroidTestJavaResource'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction
   > 2 files found with path 'META-INF/LGPL2.1' from inputs:
      - /home/lbenevento/.gradle/caches/transforms-3/1e2dfa6057fe4e701d175f47b1099efa/transformed/jetified-jna-platform-5.5.0.jar
      - /home/lbenevento/.gradle/caches/transforms-3/405542266c1c406c39ff1a20cb26a332/transformed/jetified-jna-5.5.0.jar
     Adding a packagingOptions block may help, please refer to
     https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
     for more information

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDebugAndroidTestJavaResource'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
...
这是完整的错误:https://pastebin.com/74cLGMR9

最佳答案

当我添加 androidTestImplementation "androidx.compose.ui:ui-test-junit4:$version_compose" 时,这发生在我身上。 .
引用 this posting 中的建议,我决定使用 pickFirst 而不是 exclude .
根据PackagingOptions documentation , pickFirst 将允许第一次出现的文件与 APK 一起打包,而 exclude 将排除所有出现的文件。
这最终为我工作:

android {
    packagingOptions {
        pickFirst 'META-INF/AL2.0'
        pickFirst 'META-INF/LGPL2.1'
    }
}

关于android - 找到路径为 'META-INF/LGPL2.11' 的 2 个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69761945/

相关文章:

android - 如何从 BaseAdapter 类 Android 调用 fragment ?

java - Android 一个用于多个按钮的 OnClick 方法?

gradle - Gradle的TaskExecutionListener和TaskActionListener之间有什么区别?

java - IntelliJ - 具有多个互连(!)模块的 Gradle 项目

android - 如何让 Robolectric 选择特定的微调项

android - 在 Android Studio 中创建单独的测试模块/项目

Android 测试 : ActivityInstrumentationTestCase2 : Test 2 buttons,,其中每个 Activity 导航到另一 Activity

java - Android fragment onCreateView 延迟

android - 如何在 Android 上将我的 SurfaceView 与 main.xml 一起使用?

java - 在manifest中使用一个flavor的包