React Native Android构建报错:react-native-reanimated任务执行失败
解决React Native Reanimated Android构建错误:libhermes.so缺失问题
以下是几个经过验证的解决方案,按优先级尝试:
1. 确保Hermes配置正确且完整
打开android/app/build.gradle,检查并添加以下配置:
android { defaultConfig { // 指定需要构建的ABI,覆盖默认配置 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } packagingOptions { // 优先选取Hermes库文件,避免冲突 pickFirst 'lib/**/libhermes.so' } } // 确认Hermes启用状态 project.ext.react = [ enableHermes: true, ]
2. 彻底清理缓存并重新构建
缓存残留是这类问题的常见诱因,执行以下命令彻底清理后重新编译:
# 清理React Native缓存 npx react-native clean # 进入Android目录清理Gradle缓存 cd android && ./gradlew clean # 删除依赖文件与锁文件 rm -rf node_modules package-lock.json yarn.lock # 重新安装依赖 npm install # 或使用 yarn install # 重新运行项目 npx react-native run-android
3. 强制指定Hermes库路径
如果Gradle无法自动找到Hermes库,在项目根目录的android/build.gradle中添加Hermes库的本地仓库路径:
allprojects { repositories { // 原有仓库配置保持不变 flatDir { dirs "$rootDir/node_modules/react-native/ReactAndroid/hermes-engine/build/libs" } } }
4. 严格匹配React Native与Reanimated版本
虽然你已经尝试过更换版本,但需确保两者版本严格兼容:
- React Native 0.7x 系列对应 Reanimated 3.x 版本
- React Native 0.6x 系列对应 Reanimated 2.x 版本
避免跨大版本搭配,比如不要用Reanimated 3.x搭配RN 0.69及以下版本。
5. 临时禁用Hermes(应急方案)
如果以上方法都无效,可临时关闭Hermes来绕过问题(不推荐长期使用,会损失性能):
修改android/app/build.gradle:
project.ext.react = [ enableHermes: false, ]
然后重复步骤2的清理与重新构建流程。
内容的提问来源于stack exchange,提问作者Kushagra Wadhwa
相关产品推荐
相关产品推荐

