我想将基于 React Native 的模块集成到我现有的 Android 应用程序中。到目前为止,这工作得很好,但我还想集成CodePush以将更新部署到我的应用程序。
重要的一点是模块应该独立于特定的应用程序,因为我有多个不同的应用程序应该使用这些模块。所以模块本身是独立的 React Native 包,所以它们必须是独立的 Code-Push 应用程序(我猜)。
目前这样的 React Native 模块(作为 Fragment 实现)的工作方式如下:
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;
}
}
因此,按照官方 CodePush 指南,我不知道如何在同一个 Android 应用程序中使用多个 CodePush 项目。但是我认为我的内部一定有一些东西onCreateView
可以让我注入 CodePush 包或至少一个自定义的ReactNativeHost
.