Eine mögliche Lösung hierfür besteht darin, dass Sie Ihre Anwendung höchstwahrscheinlich nicht zuerst bündeln, die folgenden Schritte ausführen und dann Ihre app-debug.apk auf Ihrem Gerät bereitstellen
$ cd myproject
$ react-native start > /dev/null 2>&1 &
$ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
(Wenn der Ordner assets
nicht existiert, erstellen Sie ihn)
Führen Sie dann vom Projektstamm aus
$> (cd android/ && ./gradlew assembleDebug)
installiere die erstellte apk auf deinem Gerät vom Speicherort: android/app/build/outputs/apk/app-debug.apk
Lassen Sie mich wissen, ob dies Ihr Problem behebt
EDIT :
Sie können es einfach als Skript in Ihre package.json einfügen, um es zu automatisieren. Ich glaube, es wird in kommenden Versionen von react-native behoben und vor dem Zusammenstellen der endgültigen APK ausgeführt, daher wird dies nicht benötigt (ich hoffe) auch)
stellen :
"scripts": {
"build": "(cd android/ && ./gradlew assembleDebug)",
"start": "node node_modules/react-native/local-cli/cli.js start",
"bundle-android": "react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --sourcemap-output android/app/src/main/assets/index.android.map --assets-dest android/app/src/main/res/"
},
oder wie erwähnt das Curl-Äquivalent, aber in den meisten Fällen ist das Obige robuster
react-native run-android
? In diesem Fall wird der Fehler angezeigt, der seltsam ist, da im Debug-Modus das JS-Bundle afaik nicht benötigt werden sollte, da es eine Verbindung zum Paketserver herstellen soll.