排毒构建错误:使用操作系统独立路径'lib / x86 / libc ++ _ shared.so'找到多个文件

时间:2019-05-09 06:25:21

标签: gradle android-gradle build.gradle gradlew detox

我正在尝试为Android的ReactNative项目构建Detox测试,并且抛出此错误

> Task :react-native pdf:transformNativeLibsWithMergeJniLibsForDebugAndroidTest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-pdf:transformNativeLibsWithMergeJniLibsForDebugAndroidTest'.
> More than one file was found with OS independent path 'lib/x86/libc++_shared.so'

进行了一些研究之后,在app / build.gradle中添加此代码块应该有所帮助

android {
    packagingOptions {
    pickFirst '/libjsc.so'
    pickFirst '/libc++_shared.so'
    }
}

但是由于某种原因,gradlew assembleAndroidTest没有使用PackagingOptions运行其构建,这导致发现多个文件,且存在与操作系统无关的路径'lib / x86 / libc ++ _ shared.so错误。

有人知道解决方法吗?

1 个答案:

答案 0 :(得分:0)

More than one file was found with OS independent path 'lib/x86/libc++_shared.so'

通常意味着... lib/x86/libc++_shared.so在项目中确实存在两次(或更频繁)。这可以例如。是,从源代码构建并且在jniLibs目录中也有文件。