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

  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.**
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容