android 在使用eas构建Expo应用程序时,如何修复与guava ListenableFuture的依赖冲突?

9rygscc1  于 2023-03-28  发布在  Android
关注(0)|答案(1)|浏览(149)

我正在使用eas构建一个Expo应用程序,它使用了react-native-usb-serialport库。在构建此库时,我得到以下错误:

[stderr] 
* What went wrong:

[stderr] 
Execution failed for task ':app:checkDebugDuplicateClasses'.

[stderr] 
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable

[stderr] 
   > Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules jetified-guava-20.0 (com.google.guava:guava:20.0) and jetified-listenablefuture-1.0 (com.google.guava:listenablefuture:1.0)

[stderr]

据我所知,this is a known issue可以通过在标准的java Android应用程序中编辑android/app/bundle.gradle来修复。然而,因为我是用eas/Expo构建的,所以我认为没有办法直接做到这一点。我分叉了react-native-usb-serialport库,并尝试从库的gradle文件中删除guava依赖项,如建议的here,我还尝试将库的guava依赖项升级到27.0版本,但当我这样做时,我得到了一个不同的构建问题,说找不到guava 27.0。
我还能做什么?

58wvjzkj

58wvjzkj1#

我通过fork react-native-serial-usb库并删除对Guava的依赖来修复这个问题。库中只使用了Guava中的一个函数,所以这很容易。
https://github.com/lr210/react-native-usb-serialport/tree/master/android

相关问题