React Native Release:无法连接到开发服务器

时间:2016-07-19 11:21:14

标签: android reactjs react-native react-native-android

我按照official guide创建了一个可安装的Android应用程序。

然而,在安装带有./gradlew installRelease的APK时,只要加载了React Fragment,应用就会崩溃:

RuntimeException: Could not connect to development server.

My Fragment代码看起来像这样,就像Integration to Android教程建议的那样。

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
    mReactInstanceManager = ReactInstanceManager.builder()
            .setApplication(getActivity().getApplication())
            .setBundleAssetName("index.android.bundle")
            .setJSMainModuleName("index.android")
            .addPackage(new MainReactPackage())
            .setUseDeveloperSupport(false) // changes nothing
            .setInitialLifecycleState(LifecycleState.RESUMED)
            .build();
    mReactRootView.startReactApplication(mReactInstanceManager, "HelloWorld", null);
    return mReactRootView;
}

你有什么想法我可能会做错吗? React Native是否需要开发服务器,即使App是打包发布的?我不能相信......我只是想让我的应用程序按原样运行。

1 个答案:

答案 0 :(得分:0)

正如上面评论中提到的@ rmevans9,您无需将开发服务器用于发布或开发模式(您正在使用脱机捆绑功能)。

您在代码中提到的一个有趣点:

.setUseDeveloperSupport(false) // changes nothing

如果您将其设置为true,那么应用是否可以通过连接到本地服务器来运行?如果没有,我的猜测是你正在使用的反应应用程序没有注册为" HelloWorld"你在app调用中使用的。

 mReactRootView.startReactApplication(mReactInstanceManager, "HelloWorld", null);

确保名称与您的react本机应用中注册的名称相匹配。