我正在使用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。
我还能做什么?
1条答案
按热度按时间58wvjzkj1#
我通过fork
react-native-serial-usb
库并删除对Guava的依赖来修复这个问题。库中只使用了Guava中的一个函数,所以这很容易。https://github.com/lr210/react-native-usb-serialport/tree/master/android