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.**