编译运行进入出现报错如下:
Attempt to invoke interface method boolean com.swmansion.reanimated.layoutReanimation.NativeMethodsHolder.isLayoutAnimationEnabled() on a null object reference
是因为安装升级了react-native-reanimated导致
解决办法如下:
- 编辑android/app/build.gradle
project.ext.react = [
enableHermes: true // <- 此处修改为true(默认为false)
]
- 编辑android\app\src\main\java\com<项目名>\MainApplication.java
import com.facebook.react.bridge.JSIModulePackage; // <- 添加
import com.swmansion.reanimated.ReanimatedJSIModulePackage; // <- 添加
...
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
...
@Override
protected String getJSMainModuleName() {
return "index";
}
// 找到这个位置,并加入以下Override方法
@Override
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
}
};
...
注:如果出现在DEBUG模式下应用闪退问题,请查看文章https://blog.csdn.net/fbean/article/details/122091110