首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android‘react-native-gesture handler’错误

Android‘react-native-gesture handler’错误
EN

Stack Overflow用户
提问于 2019-07-05 11:45:38
回答 4查看 4.6K关注 0票数 3

当我按照react导航网站的指示操作时:https://reactnavigation.org/docs/en/getting-started.html

反应-本地链接反应-本地-手势-处理程序

然后按其要求更改MainActivity.java。

然后运行react-native run-android,错误弹出: error React Native CLI对本机依赖项使用自动链接,但以下模块是手动链接的:

当将React Native从低于0.60升级到0.60或更高时,可能会发生这种情况。接下来,你可以通过"react-native unlink“来解除这个依赖,它会自动包含在你的应用中。如果库与自动链接不兼容,请忽略此消息并通知库维护人员。我的react-native版本: react-native-cli: 2.0.1 react-native: 0.60.0

但是,当我按照说明进行操作时,可以使用: react-native unlink react-native-gesture handler来解链库

应用程序成功构建,但现在它在应用程序中弹出另一个错误: null不是一个对象(计算'rngesturehandlermodule.direction')

我在很多网站上尝试了很多解决方案,比如undefined is not an object (evaluating 'RNGestureHandlerModule.State'

他们都不为我工作

EN

回答 4

Stack Overflow用户

发布于 2019-07-08 15:11:43

看起来这与RN 0.60中的新自动链接功能有关。

用于iOS的

要暂时修复,只需将以下用于RNGesureHandler的podspec添加到ios/Podfile中

代码语言:javascript
复制
pod 'RNGestureHandler', :podspec => '../node_modules/react-native-gesture-handler/RNGestureHandler.podspec'

然后在ios目录中运行pod install来安装它。

用于安卓

路径:android/app/src/main/java/com/projectname/MainApplication.java

代码语言:javascript
复制
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
....
protected List<ReactPackage> getPackages() {
        // Add additional packages you require here
        // No need to add RnnPackage and MainReactPackage
        return Arrays.<ReactPackage>asList(
            ....
            new RNGestureHandlerPackage()
        );
    }

祝你今天愉快。

票数 2
EN

Stack Overflow用户

发布于 2019-07-05 12:06:40

我不确定哪里出了问题,但很可能是因为react-native-cli从0.60.0以下升级到了0.60.0以上。

0.60.0之前版本运行react-native run-android时,该命令将运行metro打包程序,同时构建安卓应用程序,然后运行连接到metro打包程序的应用程序。

这就是为什么在过去,我们只运行一个命令"react-native run-android"来运行项目。

但在0.60.0之后运行react-native run-android时,该命令将仅构建android-,并运行该应用程序以连接到metro packager。

我看到命令提示符闪烁了一次,也可能是命令启动metro打包程序出错,打包程序以某种方式关闭了自己。

临时解决方案,直到有人修复react-native-cli以再次运行metro packager :打开2命令提示符,而不是1。在每个命令提示符上运行以下命令:

  1. react-native start
  2. react-native run-android

您可能希望首先运行第一个命令,然后等待它准备就绪,然后再运行第二个命令。

否则,你的应用程序可能会变成空白。

来源:通过创建新项目并运行问题中提到的命令,我自己尝试了一下。

票数 0
EN

Stack Overflow用户

发布于 2019-12-09 13:47:47

你可以做的是,首先卸载react-native-gesture handler。

1.react-native upgrade --legacy true //恢复ios和android文件夹。

2.npm安装react-native-gesture handler

同时更新你的MainActivity.java文件,关注官方网站:

https://kmagiera.github.io/react-native-gesture-handler/docs/getting-started.html

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

https://stackoverflow.com/questions/56896302

复制
相关文章

相似问题

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