我按照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是打包发布的?我不能相信......我只是想让我的应用程序按原样运行。
答案 0 :(得分:0)
正如上面评论中提到的@ rmevans9,您无需将开发服务器用于发布或开发模式(您正在使用脱机捆绑功能)。
您在代码中提到的一个有趣点:
.setUseDeveloperSupport(false) // changes nothing
如果您将其设置为true,那么应用是否可以通过连接到本地服务器来运行?如果没有,我的猜测是你正在使用的反应应用程序没有注册为" HelloWorld"你在app调用中使用的。
mReactRootView.startReactApplication(mReactInstanceManager, "HelloWorld", null);
确保名称与您的react本机应用中注册的名称相匹配。