从输入中找到路径“lib/arm64-v8a/libpdfium.so”的 2 个文件

问题描述 投票:0回答:1

我正在开发一个项目,需要使用可单击操作(例如打开文件中包含的链接)渲染 PDF。

我将此 flutter 包添加到我的项目中:

pdfrx: ^1.0.74

但是在构建编译时我发现了这个错误:

Execution failed for task ':pdfrx:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
   > 2 files found with path 'lib/arm64-v8a/libpdfium.so' from inputs:
      - /Users/_/Projects/front-flutter/build/pdfrx/intermediates/merged_jni_libs/debug/out/arm64-v8a/libpdfium.so
      - /Users/_/Projects/front-flutter/build/pdfrx/intermediates/cxx/Debug/3p4usq1y/obj/arm64-v8a/libpdfium.so
     If you are using jniLibs and CMake IMPORTED targets, see
     https://developer.android.com/r/tools/jniLibs-vs-imported-targets

关于这个Github问题,一个家伙正在分享一个解决方案。他建议将此代码放在版本的 graddle 中(这对我来说是一个不好的做法) - 但它仍然无法正常工作,并且我遇到了相同的错误:

packagingOptions {
  pickFirst '**/libpdfium.so'
}

有人知道如何修复这个错误吗?

flutter gradle
1个回答
0
投票

临时解决方案是创建一个 fork 或修改您正在使用的软件包版本的 gradle 文件:

$HOME/.pub-cache/hosted/pub.dev/pdfrx-1.0.74/android/build.gradle

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

在此之前您可以等待作者进行更新,或者您可以尝试提出拉取请求。

© www.soinside.com 2019 - 2024. All rights reserved.