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<ReactPackage> 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
- 混淆问题 参考
在线上会出现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.**
网友评论