You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-native-reanimated导致Android独立APK启动崩溃求助

问题描述

使用Expo托管工作流开发React Native应用,Expo Go中测试完全正常,但打包成独立APK安装到Android设备后启动即崩溃。错误日志显示问题源于react-native-reanimated模块(@react-navigation/stack的间接依赖,未主动安装)。

已尝试的方案:

  • 使用npx expo install主动安装最新版react-native-reanimated
  • 确保@react-navigation/stack的依赖模块react-native-screens和react-native-gesture-handler适配正确版本的react-native-reanimated

错误日志关键片段:

08-29 02:13:46.129 15060 15060 F DEBUG   :       #00 pc 0000000000076c58  /data/app/~~UGWiDx2QfyqHzMzDz3yeJA==/com.orderly.ios-8kJ1mW4XV4HiJGnvR0RZ1A==/lib/arm64/libreanimated.so (BuildId: 49e1dad0ba9bb0991bf54ebcc3a00d351229d18e)
08-29 02:13:46.129 15060 15060 F DEBUG   :       #01 pc 000000000008d154  /data/app/~~UGWiDx2QfyqHzMzDz3yeJA==/com.orderly.ios-8kJ1mW4XV4HiJGnvR0RZ1A==/lib/arm64/libreanimated.so (reanimated::Scheduler::triggerUI()+176) (BuildId: 49e1dad0ba9bb0991bf54ebcc3a00d351229d18e)
08-29 02:13:46.129 15060 15060 F DEBUG   :       #02 pc 0000000000090a0c  /data/app/~~UGWiDx2QfyqHzMzDz3yeJA==/com.orderly.ios-8kJ1mW4XV4HiJGnvR0RZ1A==/lib/arm64/libreanimated.so (facebook::jni::detail::MethodWrapper<void (reanimated::AndroidScheduler::*)(), &(reanimated::AndroidScheduler::triggerUI()), reanimated::AndroidScheduler, void>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>)+44) (BuildId: 49e1dad0ba9bb0991bf54ebcc3a00d351229d18e)
08-29 02:13:46.129 15060 15060 F DEBUG   :       #03 pc 0000000000090978  /data/app/~~UGWiDx2QfyqHzMzDz3yeJA==/com.orderly.ios-8kJ1mW4XV4HiJGnvR0RZ1A==/lib/arm64/libreanimated.so (facebook::jni::detail::FunctionWrapper<void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>), facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*, void>::call(_JNIEnv*, _jobject*, void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>))+60) (BuildId: 49e1dad0ba9bb0991bf54ebcc3a00d351229d18e)
08-29 02:13:46.129 15060 15060 F DEBUG   :       #04 pc 000000000008f924  /data/app/~~UGWiDx2QfyqHzMzDz3yeJA==/com.orderly.ios-8kJ1mW4XV4HiJGnvR0RZ1A==/lib/arm64/libreanimated.so (facebook::jni::detail::MethodWrapper<void (reanimated::AndroidScheduler::*)(), &(reanimated::AndroidScheduler::triggerUI()), reanimated::AndroidScheduler, void>::call(_JNIEnv*, _jobject*)+36) (BuildId: 49e1dad0ba9bb0991bf54ebcc3a00d351229d18e)
解决方案

1. 锁定兼容版本的react-native-reanimated

Expo托管工作流对第三方库版本有严格适配要求,最新版可能与当前SDK不兼容:

  • 查看package.json中expo的版本,确认对应SDK适配的react-native-reanimated版本
  • 执行npx expo install react-native-reanimated@指定兼容版本安装适配版,而非最新版

2. 清除缓存并重新构建

缓存残留可能导致打包时引入旧的库文件:

  • 执行npx expo r -c清除本地缓存
  • 删除node_modules和package-lock.json/yarn.lock
  • 重新执行npm install或yarn install
  • 重新打包APK:eas build -p android(EAS Build)或expo build:android(旧版命令)

3. 检查Babel配置

react-native-reanimated必须在Babel中配置插件,且顺序正确:

  • 修改babel.config.js,确保插件放在babel-preset-expo之后:
    module.exports = function(api) {
      api.cache(true);
      return {
        presets: ['babel-preset-expo'],
        plugins: ['react-native-reanimated/plugin'],
      };
    };
    
  • 注意:该插件需放在所有其他插件之前(除了babel-preset-expo)

4. 确认手势处理初始化

在应用入口文件顶部正确初始化react-native-gesture-handler:

import 'react-native-gesture-handler';
import { enableScreens } from 'react-native-screens';
enableScreens();

5. 配置Android ABI架构

崩溃日志指向arm64架构的库文件,确保构建包含常用ABI:

  • 在app.json中添加配置:
    {
      "expo": {
        "android": {
          "ndk": {
            "abiFilters": ["armeabi-v7a", "arm64-v8a", "x86_64"]
          }
        }
      }
    }
    

内容的提问来源于stack exchange,提问作者Mike Ganz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:07:05