最新的提交在 2016/07/14 的时候,c89c25f27d115c1928104b06dbe6eabf005995a6 把 New Bridge 切换成默认的了,测试下来看,已经没有问题了。
至于 New Bridge 和 Old Bridge 的区别,网上并没有太多的资料,还需要从代码层面去了解。
从提交记录来看,在 2016-05-19 的时候,代码里面提交了一份儿新的代码,xreact,提交的 log 里面写的是『Move more new bridge code into OSS』
然后在 2016-07-01 的时候,提交了一个改动是『Make the new bridge the default』
不过我测试下来,貌似 new bridge 还是有些问题
Didn't find class "com.facebook.jni.IteratorHelper" on path: DexPathList[[zip file "/data/app/com.facebook.react.uiapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.facebook.react.uiapp-2/lib/x86, /data/app/com.facebook.react.uiapp-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]
findClass
BaseDexClassLoader.java:56
loadClass
ClassLoader.java:511
loadClass
ClassLoader.java:469
initHybrid
ModuleRegistryHolder.java:-2
<init>
ModuleRegistryHolder.java:26
getModuleRegistryHolder
NativeModuleRegistry.java:63
<init>
CatalystInstanceImpl.java:106
<init>
CatalystInstanceImpl.java:50
build
CatalystInstanceImpl.java:484
createReactContext
XReactInstanceManagerImpl.java:860
access$600
XReactInstanceManagerImpl.java:103
doInBackground
XReactInstanceManagerImpl.java:203
doInBackground
XReactInstanceManagerImpl.java:182
call
AsyncTask.java:295
run
FutureTask.java:237
run
AsyncTask.java:234
runWorker
ThreadPoolExecutor.java:1113
run
ThreadPoolExecutor.java:588
run
Thread.java:818
从报错的内容来看,看样子有些代码 fb 还没有开源出来,这个目录里面少了一些东西:ReactAndroid/src/main/java/com/facebook/jni,所以还需要继续等待后续的情况。
如果想要继续让 UIExplorer 运行的话,需要修改一下 ReactNativeHost.java 里面 createReactInstanceManager 的方法,调用一下 setUseOldBridge(true)
即可。
看到今天的一个版本提交,果真把bridge切换到旧的版本了
网友评论