React-Native New Bridge

作者: liyb | 来源:发表于2016-07-03 21:51 被阅读180次

    最新的提交在 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切换到旧的版本了

    相关文章

      网友评论

        本文标题:React-Native New Bridge

        本文链接:https://www.haomeiwen.com/subject/fndcjttx.html