我想將基於React Native的模塊集成到我現有的Android應用程序中。這工作相當不錯,但我也想整合CodePush部署更新到我的應用程序。如何在一個應用程序中對CodePush使用多個ReactNativeHosts?
重要的一點是模塊應該獨立於特定的應用程序,因爲我有多個不同的應用程序應該使用這些模塊。所以模塊本身是獨立的React Native軟件包,所以它們必須是獨立的Code-Push應用程序(我猜)。
目前這樣一個陣營本機模塊(如片段中實現)的工作是這樣的:
public class ReactFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
ReactRootView mReactRootView = new ReactRootView(getContext());
ReactInstanceManager mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getActivity().getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index.android")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(false)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "HelloWorld", null);
return mReactRootView;
}
}
因此,按照official CodePush guide我不知道如何在同一臺Android應用程序中使用多個CodePush項目。不過,我認爲我的onCreateView
內必須有一些東西允許我注入CodePush包或至少定製ReactNativeHost
。