我試圖將現有的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)提取包時導致錯誤。