React Native ./gradlew AssemblyRelease AssessmentAndroidTest не работает: «Найдено более одного файла с независимым от ОС путем» - PullRequest
1 голос
/ 03 августа 2020

Я запускаю команду gradle: ./gradlew assembleRelease assembleAndroidTest, и она выдает следующую ошибку:

> Task :react-native-ffmpeg:mergeDebugAndroidTestNativeLibs FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-ffmpeg:mergeDebugAndroidTestNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > More than one file was found with OS independent path 'lib/x86/libc++_shared.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake

Я выполнил инструкции здесь и добавил этот код в свой build.gradle:

    packagingOptions {
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/x86_64/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
    }

Однако эти packagingOptions, похоже, не имеют никакого значения. Я должен отметить, что работает только assembleRelease, только когда я добавляю assembleAndroidTest, возникают проблемы. У меня есть проблема , открытая на github response-native-ffmpeg, но это похоже на более общую проблему gradle / android, поэтому я публикую здесь.

1 Ответ

0 голосов
/ 03 августа 2020

Ошибка исчезнет, ​​если вы добавите app: к задачам gradle. Это команда сборки, которая у меня сработала: ./gradlew app:assembleRelease app:assembleAndroidTest.

...