ReactNative 混合开发-Android

ReactNative 开发中RN的页面和原生的页面都有,如何将RN代码集成进一个成熟的Android 项目

参考

关于如何刷新rn

刷新token 一般只需要mReactInstanceManager,我这边的解决方案是创建工具类将mReactInstanceManager 单例化,在刷新比如登录退出过程中对于mReactInstanceManager 重新赋值。

 public ReactInstanceManager getReactManager(Activity activity){
        if(reactInstance == null){
            resetRectPackage(activity);
        }
        return reactInstance;
    }

 public void  resetRectPackage(Activity activity){
          List packages = new PackageList(getApplication()).getPackages();
        // 有一些第三方可能不能自动链接,对于这些包我们可以用下面的方式手动添加进来:
        // packages.add(new MyReactNativePackage());
        // 同时需要手动把他们添加到`settings.gradle`和 `app/build.gradle`配置文件中。
        reactInstance = ReactInstanceManager.builder()
                .setApplication(getApplication())
                .setCurrentActivity(this)
                .setBundleAssetName("index.android.bundle")
                .setJSMainModulePath("index")
                .addPackages(packages)
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                .setInitialLifecycleState(LifecycleState.RESUMED)
                .build();
}

Question

  1. 混淆问题 参考
    在线上会出现io.realm.react.utils.SSLHelper can not find DSO
    大多是因为混淆过程中混淆导致代码不可执行
在线上会出现io.realm.react.utils.SSLHelper can not find DSO
大多是因为混淆过程中混淆导致代码不可执行

建议添加如下 到proguard-rules.pro
-keep class io.realm.react.**

你可能感兴趣的:(ReactNative 混合开发-Android)