gpt4 book ai didi

android - 当两个依赖项使用FFmpeg时如何解决不满意的链接错误

转载 作者:行者123 更新时间:2023-12-04 23:01:26 30 4
gpt4 key购买 nike

在我的 Android 应用程序中,我使用 Amplituda https://github.com/lincollincol/Amplituda和视频修剪器https://github.com/a914-gowtham/android-video-trimmer
他们都使用 FFmpeg 导致此错误

Execution failed for task ':app:mergeDebugNativeLibs'.A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction2 files found with path 'lib/x86/libavcodec.so' from inputs ...


我尝试在 build.gradle 中首先使用 pick

pickFirst 'lib/x86/libavcodec.so' and then gradlew clean


该项目构建良好,但每当我尝试修剪视频时都会出现运行时错误

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "avpriv_init_elbg" referenced by ... ==/lib/x86/libavfilter.so"


知道如何解决这个问题吗?
谢谢

最佳答案

我是 Amplituda 库开发人员。看起来与 FFmpeg 库有冲突。请加 packagingOptions给您的gradle(:app)示例代码:

android {
// . . .

// Add this code to your gradle
packagingOptions {
pickFirst 'lib/*/libavcodec.so'
pickFirst 'lib/*/libavformat.so'
pickFirst 'lib/*/libavutil.so'
pickFirst 'lib/*/libswresample.so'
}

// . . .
}

dependencies {
// . . .
}
请直接在 github 上打开一个新问题下次。这将帮助我更快地解决类似的错误 :)

关于android - 当两个依赖项使用FFmpeg时如何解决不满意的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68242186/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com