我试图将现有的Android应用程序与React Native整合在一起,遵循guide。它编译和运行,但是当我启动活动做出反应,它与崩溃:React Native找不到开发服务器,整合现有的Android应用程序
Caused by: java.lang.RuntimeException: Could not connect to development server.
我在模拟器都尝试(genymotion)和USB连接的设备上。我运行了adb reverse tcp:8081 tcp:8081
并通过adb reverse --list
进行了验证,并且还验证了我可以从设备上的浏览器访问http://localhost:8081/index.android.bundle,另外还可以从我的笔记本电脑上访问http://localhost:8081/index.android.bundle(所以包服务器运行良好,通过npm start
)。
值得注意的是,我可以运行教程示例很好,所以它似乎是从我现有的Android应用程序中运行RN的一些东西。
我在反应原生0.27.2。
想法?
更新: 我添加了一些代码,直接从我的活动之一,取包:
public void pingReactServer() {
Request request = new Request.Builder()
.url("http://10.0.3.2:8081/index.android.bundle")
.build();
OkHttpClient client = OkHttpClientProvider.getOkHttpClient();
client.newCall(request).enqueue(
new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.v(TAG, "React ping failed: " + call);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.v(TAG, "React ping response: " + response.body().string());
}
}
);
}
这工作得很好,我找回包的内容。因此,React的http客户端可以看到包装服务器,而其他东西必须以正常方式(DevServerHelper)提取包时导致错误。