integrieren Ich versuche, eine vorhandene Android-App mit React Native zu integrieren, die guide folgt. Es kompiliert und ausgeführt, aber wenn ich die Reaktion Aktivität zu starten, stürzt mit:React Native kann Entwicklungsserver nicht finden, die vorhandene Android-App
Caused by: java.lang.RuntimeException: Could not connect to development server.
Ich habe beide versucht, in einem Emulator (genymotion) und auf einem USB-Gerät verbunden. Ich habe adb reverse tcp:8081 tcp:8081
ausgeführt und mit adb reverse --list
verifiziert, und außerdem verifiziert, dass ich http://localhost:8081/index.android.bundle vom Browser auf Gerät zugreifen kann, zusätzlich zu meinem Laptop (so läuft der Paketserver gut, über npm start
).
Bemerkenswert, ich kann das Tutorial-Beispiel in Ordnung, so scheint es etwas über das Ausführen von RN aus meiner bestehenden Android App zu sein.
Ich bin auf Reaktion-native 0.27.2.
Ideen?
aktualisieren: habe ich einige Code das Bündel direkt von einem meiner Aktivitäten zu holen:
Dieses funktioniert gutpublic 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());
}
}
);
}
, ich wieder das Bündel Inhalt bekommen. Daher kann der HTTP-Client von React den Packager-Server sehen, und etwas anderes muss einen Fehler verursachen, wenn er das Bundle auf normale Weise (den DevServerHelper) holt.