Android端React Native项目提示react-native-gesture-handler模块未找到求解决方案
可行解决方案
- 检查Android端自动链接配置
打开android/app/build.gradle文件,确认dependencies代码块中没有手动排除react-native-gesture-handler的配置。RN 0.60以下版本需要手动添加如下依赖:implementation project(':react-native-gesture-handler') - 校验MainApplication.java配置
进入android/app/src/main/java/[你的项目包名]/目录打开MainApplication.java,确认已导入包:
同时确认import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;getPackages()方法中已添加实例new RNGestureHandlerPackage()(RN 0.60+自动链接版本如无特殊自定义配置可跳过本步)。 - 补全MainActivity.java的RootView配置(1.x版本gesture-handler必填,多数用户漏配本项)
同目录下打开MainActivity.java,先导入包:
再重写import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;createRootView方法:@Override protected ReactRootView createRootView() { return new RNGestureHandlerEnabledRootView(MainActivity.this); } - 检查settings.gradle配置
打开android/settings.gradle,确认存在如下配置,自动链接失效时需要手动添加:include ':react-native-gesture-handler' project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android') - 全量清理缓存重新构建
依次执行如下操作:- 停止当前运行的Metro服务
- 进入android目录执行
./gradlew clean清理构建缓存 - 回到项目根目录执行
npx react-native start --reset-cache重启Metro并清空缓存 - 新开终端执行
npx react-native run-android重新构建安装包
- 校验版本兼容性
你使用的react-native-gesture-handler@1.10.3仅适配RN 0.60~0.63版本,如你的RN版本高于0.64,可将gesture-handler升级到2.x稳定版解决兼容问题。
内容的提问来源于stack exchange,提问作者Simon Degn
相关产品推荐
相关产品推荐

