我正在尝试构建包含两个库的Android应用程序。在一个库中,使用的是较新版本的ffmpeg。在另一个库中,该库的依赖项使用的是较旧版本的ffmpeg。尝试在包选项中使用pickFirst会选择错误的库。是否有任何可能的方法来修复此问题,或者这只是Gradle的一个限制?
这是我得到的错误
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
> 2 files found with path 'lib/arm64-v8a/libavcodec.so' from inputs:
2条答案
按热度按时间gkl3eglg1#
您可以从相依性中排除具有“错误”版本的程式库。
qlzsbp2j2#
其实我自己就能解决这个问题。
本质上,我需要做的是在我的gradle文件中添加一个任务,在合并库任务运行之前将其拦截,并删除不需要的库:
在这种情况下,不需要的库位于FFmpegMetadataMediaRetriever文件夹/库中。