Выполнение не выполнено для задачи ': реагировать-нативный-жест-обработчик: - PullRequest
0 голосов
/ 20 июня 2019

Я исправляю проблему несовместимости, связанную с AndroidX, добавив две строки к gradle.properties в android для моего проекта RN 0.59.

android.useAndroidX=true
android.enableJetifier=true

Теперь есть еще одна ошибка с run-android, связанная сreact-native-gesture-handler.Затем я yarn remove текущий react-native-gesture-handler из 1.2.0 и добавить его обратно.Новая версия 1.3.0.Вот ошибка:

> 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 для исправления, но я не хотел бы использовать такую ​​старую версию.

Ответы [ 4 ]

2 голосов
/ 08 июля 2019

Это вызвало эту ошибку для RN 0.60. Вы можете решить эту проблему следующим образом,

npm i jetifier
npx jetify

исправил это для меня на RN 0.60.

Хорошего дня.

1 голос
/ 20 июня 2019

По моему мнению, эта ошибка возникает из-за неполной установки и компоновки библиотеки npm.Выполните следующие действия: - Сначала запустите эту команду внутри вашего проекта (установка npm --save Reaction-native-жест-обработчик).Затем свяжите эту библиотеку, выполнив эту команду (React-native link).Затем запустите ваш проект на устройствах или симуляторе, он будет работать.Если это не сработает, установите вручную и создайте ссылку на эту библиотеку по ссылке, приведенной ниже.https://www.npmjs.com/package/react-native-gesture-handler

0 голосов
/ 22 июля 2019

$ npm i реакции-нативного жеста-обработчика

$ реагировать-нативной ссылки реакции-нативного жеста-обработчика

Установить Jetifier ->

$ npm install --save-dev jetifier

или

$ yarn add -D jetifier

Затем -> Изменить пакет.json и добавьте скрипт postinstall: "postinstall": "npx jetify", например так:

{
    "version": "2.0.0",
    "lockfileVersion": 1,
    "requires": true,
    "scripts": {
          "postinstall": "npx jetify"
    },
    ....
 }

$ npm install или $ yarn

$ npx jetify

ссылка

0 голосов
/ 07 июля 2019
npm i jetifier
npx jetify

Исправлено для меня на реакции-нативной 0,60

Будьте осторожны, потому что последняя реагирующая версия не нужна

react-native link react-native-gesture-handler

Он автоматически связывается с реагирующим родным 0.60

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...