首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任务':react-native-gesture-handler:compileDebugJavaWithJavac‘执行失败

任务':react-native-gesture-handler:compileDebugJavaWithJavac‘执行失败
EN

Stack Overflow用户
提问于 2019-06-20 08:11:28
回答 5查看 13.9K关注 0票数 9

我正在修复一个与AndroidX相关的不兼容问题,方法是在我的RN 0.59项目的android下向gradle.properties添加2行代码。

代码语言:javascript
复制
android.useAndroidX=true
android.enableJetifier=true

现在,与react-native-gesture-handler相关的run-android出现了另一个错误。然后我对1.2.0的当前react-native-gesture-handler执行yarn remove操作并将其添加回来。新版本是1.3.0。下面是错误:

代码语言:javascript
复制
> Task :react-native-gesture-handler:compileDebugJavaWithJavac
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerEvent.java:3: error: package android.support.v4.util does not exist
import android.support.v4.util.Pools;
                              ^
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerEvent.java:19: error: package Pools does not exist
  private static final Pools.SynchronizedPool<RNGestureHandlerEvent> EVENTS_POOL =
                            ^
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerStateChangeEvent.java:3: error: package android.support.v4.util does not exist
import android.support.v4.util.Pools;
                              ^
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerStateChangeEvent.java:19: error: package Pools does not exist
  private static final Pools.SynchronizedPool<RNGestureHandlerStateChangeEvent> EVENTS_POOL =
                            ^
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerEvent.java:20: error: package Pools does not exist
          new Pools.SynchronizedPool<>(TOUCH_EVENTS_POOL_SIZE);
                   ^
C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerStateChangeEvent.java:20: error: package Pools does not exist
          new Pools.SynchronizedPool<>(TOUCH_EVENTS_POOL_SIZE);
                   ^
Note: C:\D\code\js\emps_app\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerButtonViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
6 errors

> Task :react-native-gesture-handler:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

这个错误与6个包丢失有关,我猜它仍然与Androidx有关。但我不知道如何修复它。有一个问题帖子(对于RN-手势处理程序)建议降级到1.0.5版本进行修复,但我不喜欢使用这样的旧版本。

EN

回答 5

Stack Overflow用户

发布于 2019-07-08 15:32:12

它会导致RN 0.60出现此错误。你可以通过以下方式来解决这个问题:

代码语言:javascript
复制
npm i jetifier
npx jetify

RN 0.60上帮我修好了。

祝你今天愉快。

票数 19
EN

Stack Overflow用户

发布于 2019-07-07 20:44:59

代码语言:javascript
复制
npm i jetifier
npx jetify

在react-native 0.60上为我修复了它

请注意最新的react-本机版本不需要

代码语言:javascript
复制
react-native link react-native-gesture-handler

它由react-native 0.60自动链接

票数 4
EN

Stack Overflow用户

发布于 2019-06-20 14:49:57

根据我的开场白,这个错误是由于npm库的安装和链接不完整造成的。遵循以下步骤:-首先在您的项目中运行此命令(npm install --save react-native-gesture handler)。然后,通过运行此命令(react-native link react-native-gesture handler)链接该库。然后在设备或模拟器上运行你的项目,它将会工作。如果它不工作,那么手动安装并从下面给出的链接链接这个库。https://www.npmjs.com/package/react-native-gesture-handler

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56677418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档