Closed CD3108 closed 2 years ago
有个开关,目前中文文档还没更新,我周末看有空的话更一下
有个开关,目前中文文档还没更新,我周末看有空的话更一下
大佬好,感谢回复。那个文档已经看过。我在 Demo 中把那个开关打开了, Demo 启用了 Fabric。但是我项目是用的 ReactAndroid 打包成的 aar。我就在 demo 中尝试剥离 RN 源码相关的依赖,于是我就仅注释掉此处代码,结果再跑起来就报错。
if (isNewArchitectureEnabled()) { // If new architecture is enabled, we let you build RN from source // Otherwise we fallback to a prebuilt .aar bundled in the NPM package. // This will be applied to all the imported transtitive dependency. configurations.all { resolutionStrategy.dependencySubstitution { substitute(module("com.facebook.react:react-native")) .using(project(":ReactAndroid")).because("On New Architecture we're building React Native from source") } } }
报错信息如下,其中 awesomeproject_appmodules_aaaaaaaaaaaa 为便于查找所修改 android.mk 文件的 so 名
2022-06-11 14:20:27.163 12469-12546/com.awesomeproject E/SoLoader: couldn't find DSO to load: libawesomeproject_appmodules_aaaaaaaaaaaa.so caused by: dlopen failed: cannot locate symbol "_ZTVN8facebook5react22DebugStringConvertibleE" referenced by "/data/app/~~p-94nRA8z8z6osbq2G5kjw==/com.awesomeproject-nXJWSmTGEw-9Ups25t-W-w==/lib/arm64/libawesomeproject_appmodules_aaaaaaaaaaaa.so"... result: 0
2022-06-11 14:20:27.165 12469-12546/com.awesomeproject E/AndroidRuntime: FATAL EXCEPTION: create_react_context
Process: com.awesomeproject, PID: 12469
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libawesomeproject_appmodules_aaaaaaaaaaaa.so caused by: dlopen failed: cannot locate symbol "_ZTVN8facebook5react22DebugStringConvertibleE" referenced by "/data/app/~~p-94nRA8z8z6osbq2G5kjw==/com.awesomeproject-nXJWSmTGEw-9Ups25t-W-w==/lib/arm64/libawesomeproject_appmodules_aaaaaaaaaaaa.so"... result: 0
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1098)
at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:914)
at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:826)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:773)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:743)
at com.awesomeproject.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate.maybeLoadOtherSoLibraries(MainApplicationTurboModuleManagerDelegate.java:44)
at com.facebook.react.turbomodule.core.TurboModuleManagerDelegate.
所期望的效果是, Fabric 可以像 aar 一样,直接引用,项目中稍做设置即可开启新架构,无需依赖其他 RN 相关源码编译。 不知道能否做到 盼复
按我的理解应该是不能
按我的理解应该是不能
我又搞了搞,确实找不到办法。有哪个大佬找到解决办法踢我一脚,谢谢
newArchEnabled 新架构只能依赖 RN 源码编译吗?