Ich versuche, mein erstes React Native-Projekt zum ersten Mal auf meinem Gerät (Android 4.2.2) auszuführen.
Und ich bekomme:
Skript kann nicht aus Assets index.android.bundle geladen werden
Befehle, die ich verwendet habe:
cd (project directory)
react-native start
react-native run-android
Loading dependency graph...
,Loading dependency graph, done
und klicken Sie in der App auf Neu laden.mkdir ... /assets && react-native bundle --platform..
KANN dieses Problem NICHT vollständig lösen , Überprüfen Sie dies: stackoverflow.com/a/55511803/10139109Antworten:
Ich habe das gleiche Problem festgestellt, als ich dem React Native- Tutorial gefolgt bin (Entwicklung unter Linux und Ausrichtung auf Android).
Dieses Problem hat mir geholfen, das Problem in den folgenden Schritten zu beheben.
mkdir android/app/src/main/assets
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
Sie können die obigen Schritte automatisieren, indem Sie sie in einen
scripts
Teil davonpackage.json
wie folgt einfügen :Dann können Sie
npm run android-linux
jedes Mal einfach über Ihre Befehlszeile ausführen .quelle
index.android.js
? Jedes Mal im Terminal müssen wir Befehl einfügenreact-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Loading dependency graph...
jedes Mal hängen, wenn ich es vom Terminal aus erneut ausführe, und es dauert zu lange. Zu Ihrer Information Ich benutze Ubuntu 14.04index.js
nichtApp.js
Wenn Sie Ihre Anwendung auf einem physischen Gerät ausführen und diesen Fehler erhalten
Versuchen Sie, den Befehl auszuführen:
Es hat für mich funktioniert ...
quelle
Ich habe stundenlang versucht, dieses Problem herauszufinden. Mein Problem war nicht spezifisch für Windows, sondern spezifisch für Android.
Der Zugriff auf den Entwicklungsserver funktionierte lokal und im Browser des Emulators. Das einzige, was nicht funktionierte, war der Zugriff auf den Entwicklungsserver in der App.
AndroidManifest.xml
Weitere Informationen finden Sie unter: https://stackoverflow.com/a/50834600/1713216
quelle
targetSdkVersion
auf28
.Verwenden von npm Version 4.3.0 React-Native-Cli Version 2.01 React-Native Version 0.49.5
Im Projektverzeichnis
mkdir android/app/src/main/assets
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
Der Dateiname wurde von index.android.js in index.js geändert
quelle
index.js
anstelle vonindex.android.js
oderindex.ios.js
sudo react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Ich habe das gleiche Problem mit einem echten Android-Gerät konfrontiert.
Lösung: Basierend auf dieser Antwort von Niltoid
Für Mac-Benutzer: Öffnen Sie Ihre Netzwerkeinstellungen. Hier erhalten Sie Ihre lokale IP.
quelle
Wenn Sie Windows verwenden, führen Sie die Befehle folgendermaßen aus, oder wenn die Fehlermeldung "Eintragsdatei index.android.js kann nicht gefunden werden" angezeigt wird.
mkdir android\app\src\main\assets
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
quelle
Sie können den Anweisungen auf der offiziellen Seite folgen , um dieses Problem zu beheben. Dieses Problem tritt auf einem realen Gerät auf, da sich das JS-Bundle auf Ihrem Entwicklungssystem befindet und die App auf Ihrem realen Gerät den Standort nicht kennt.
quelle
react-native run-android
Fixed ItHatte das gleiche Problem in Mac, nachdem ich 2 Tage verbracht hatte, konnte ich endlich arbeiten.
Seitdem
Emulator cellular data was turned off
bekam ich dieunable to load script from assets index.android.bundle make sure your bundle is running
.Stellen Sie sicher, dass Sie
Emulator cellular data is turned on
mit diesem Paket Server bündeln konntenindex.android.js
. Hoffe, es hilft für jemanden, der sich in der Entwicklungsphase befindet.quelle
Emulator cellular data is turned on
? Wo ist das? Virtuelles Gerät? Echtes Gerät?Ich habe jetzt seit einigen Monaten das gleiche Problem. Ich habe anfangs die Lösung von @ Jerry verwendet, dies war jedoch eine falsche Lösung, da das Problem dadurch nicht vollständig behoben wurde. Stattdessen wurde jeder Build als Produktions-Build verwendet, was bedeutet, dass jede geringfügige Änderung, die Sie an der App vorgenommen haben, bedeuten würde, dass die gesamte App neu erstellt werden muss.
Dies ist zwar eine zeitliche Lösung, funktioniert aber auf lange Sicht schrecklich, da Sie die erstaunlichen Entwicklungstools von React Native wie Hot-Reloading usw. nicht mehr nutzen können.
Eine richtige Lösung ist gezeigt:
MainApplication.java
Ersetzen Sie in Ihrer Datei Folgendes:mit
Aus irgendeinem Grund wurde
BuildConfig.DEBUG
immer false zurückgegeben und eine Bundle-Datei im Assets-Verzeichnis erstellt.Wenn Sie dies manuell auf true setzen, zwingen Sie die App, den Packager zu verwenden. Dies funktioniert in der Produktion NICHT. Ändern Sie es daher unbedingt in false oder den Standardwert.
Vergiss nicht auch zu rennen
quelle
1 Wechseln Sie in Ihr Projektverzeichnis und prüfen Sie, ob dieser Ordner vorhanden ist
android/app/src/main/assets
index.android.bundle
undindex.android.bundle.meta
2. Aus Ihrem Stammprojektverzeichnis tun
3. Navigieren Sie abschließend zurück zum Stammverzeichnis und prüfen Sie, ob eine einzelne Eintragsdatei aufgerufen wird
index.js
Wenn es nur eine Datei gibt, dh index.js, führen Sie den folgenden Befehl aus
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Wenn zwei Dateien vorhanden sind, z. B. index.android.js und index.ios.js, führen Sie diese aus
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
quelle
Betriebssystem: Windows
Eine andere Möglichkeit, dieses Problem zu beheben, nachdem Sie zwei der oben genannten Methoden ausprobiert haben
(da ich das SDK nicht in DEFAULT LOCATION wie C: \ users \ "user_name" \ appdata \ local \ sdk installiert habe ).
Wenn Sie bemerkt haben, dass die Befehlszeile angekündigt hat: "'adb' wird nicht als interner oder externer Befehl erkannt ..."
So
komme
ich zurecht : Beispiele: Ich habe SDK in D: \ Android \ sdk installiert. Also werde ich einen Pfad in Systemvariablen einfügen. 2 weitere Zeilen:
(Wenn Sie nicht wissen, wie Sie Pfadsystemvariablen bearbeiten, finden Sie hier das Thema: /android/38321/what-do-i-type-in-path-variable-for-adb- Server-to-Start-from-cmd / 38324 )
Dann starte ich cmd erneut:
react-native run-android
Es hat bei mir funktioniert.
quelle
In meinem Fall habe ich die folgende Zeile aus MainApplication.java entfernt. (Was zuvor fälschlicherweise von mir hinzugefügt wurde.) : -
Danach Projekt reinigen und Befehl drücken
quelle
Für IOS:
In einem Terminal:
Entfernen Sie den Build-Ordner mit:
rm -r build
Führe es nochmals aus:
react-native run-ios
Alternativ können Sie den Finder öffnen, zu YOUR_PROJECT / ios navigieren und den Build löschen Ordner .
Dann nochmal laufen lassen:
react-native run-ios
Für ANDROID:
In einem Terminal:
Entfernen Sie den Build-Ordner mit:
rm -r build
Führe es nochmals aus:
react-native run-android
Alternativ können Sie den Finder öffnen, zu YOUR_PROJECT / android / app navigieren und den Build- Ordner löschen .
Dann nochmal laufen lassen:
react-native run-android
quelle
android/app/bin
Ordnern unter Windows funktionierte ebenfalls. Ich hatte das Projekt direkt aus Android Studio erstellt, anstatt es auszuführenreact-native run-android
, und es scheint etwas Falsches erstellt zu haben, das ich manuell löschen musste.Für dieses Problem löse ich es einfach durch Ausführen von:
dann
auf der Kommandozeile. Und dann kann ich rennen:
Also werde ich meine Zeit nicht verschwenden, um zu rennen:
jedes Mal.
quelle
Ich war auch mit diesem Problem konfrontiert, weil es beim Ausführen von Projekten auf dem Emulator einwandfrei funktioniert, aber auf einem realen Gerät diesen Fehler ausgibt. Also löse ich dieses Problem durch die folgende Lösung
1. Schritt: Öffnen Sie zunächst cmd und wechseln Sie in den Ordner SDK Manager Platform-tools
2. Schritt : Führen Sie nun diesen Befehl aus:
Überprüfen Sie nach diesem Befehl Ihr Gerät, das in der Eingabeaufforderung aufgeführt ist
3. Schritt : Führen Sie dies jetzt aus
Jetzt ist Ihr Setup abgeschlossen
4. Schritt : Gehen Sie in Ihr Projektverzeichnis und führen Sie diesen Befehl aus
quelle
Zum ersten Mal habe ich eine neue App mit erstellt
react-native init project-name
. Ich habe den gleichen Fehler bekommen. Also mache ich die folgenden Schritte, um dies in meinem Fall zu beheben.sudo chown user-name-of-pc /dev/kvm
in meinem Fall.Wählen Sie beim Debuggen von Ihrem Android-Telefon aus
Use USB to Transfer photos (PTP)
.Erstellen Sie einen Ordner
assets
im Projektnamen / android / app / src / mainindex.js
Stellen Sie sicher, dass Sie in Ihrem Projektverzeichnis verfügbar sind,root
und führen Sie dann den folgenden Befehl von Konsole zucd project-name
Verzeichnis aus.oder dann für index.android.js
Befehl
./studio.sh
imandroid-studio/bin
Verzeichnis ausführen . Es wird Android Studio geöffnet.Befehl ausführen
react-native run-android
.quelle
Stellen Sie sicher, dass der Metro Builder ausgeführt wird, damit Ihr physisches Gerät und Ihr Server synchronisiert werden
Führen Sie zuerst diesen Befehl aus, um den Metro Builder auszuführen
Dann können Sie den Build in React Native starten
Diesmal sollte es keinen Fehler geben. Wenn Sie möchten, dass Ihr Code bei Änderungen live geladen wird. Schütteln Sie Ihr Gerät und tippen Sie anschließend auf Live Reload aktivieren
quelle
Stellen Sie sicher, dass Sie Ihrer Pfadvariablen / path / to / sdk / platform-tools hinzugefügt haben.
Wenn Sie reag-native run-android ausführen, wird der Befehl adb reverse tcp: <Geräteport> tcp: <lokaler Port> ausgeführt, um die Anforderung von Ihrem Gerät an den Server weiterzuleiten, der lokal auf Ihrem Computer ausgeführt wird. Sie werden so etwas sehen, wenn adb nicht gefunden wird.
quelle
Dies kann durch nicht verknüpfte Assets in Ihrer React Native-Projektcodebasis verursacht werden, z. B. wenn Sie Ihre Projektanwendung / Bundle-ID umbenennen oder ein externes Paket hinzufügen, ohne es ordnungsgemäß zu verknüpfen.
Probieren Sie es einfach in Ihrem Projektstammverzeichnis aus:
quelle
Wenn beim Ausführen des
react-native run-android
Befehls die zweite Zeile der Ablaufverfolgung lautetDies bedeutet, dass der Packager für die App nicht gestartet werden kann und die App ohne einige zusätzliche Schritte nicht geladen werden kann. Beachten Sie, dass das Ende der Ablaufverfolgung weiterhin den Erfolg meldet:
Das Problem ist wahrscheinlich ein Portkonflikt (in meinem Fall war es die Standard-IIS-Site, die ich völlig vergessen habe). Eine weitere Manifestation des Problems wäre ein Versagen beim Öffnen
http://localhost:8081/debugger-ui
URL in Chrome.Sobald der Portkonflikt behoben ist, wird der Trace gemeldet
Dann öffnet sich ein zusätzliches Knotenfenster (
node ...cli.js start
) und die App wird erfolgreich geladen / neu geladen.Danach sollten Sie in der Lage sein, die Debug-Konsole in Chrome mit zu öffnen
http://localhost:8081/debugger-ui
.quelle
Ich hatte das gleiche Problem, selbst wenn ich auf einem Simulator lief. Ich habe eine schnelle Problemumgehung durchgeführt, damit ich den normalen Entwickler-Workflow haben kann.
Möglicherweise muss die Änderung rückgängig gemacht werden, wenn versucht wird, einen Produktionsaufbau durchzuführen.
quelle
Ich hatte ein Problem mit McAfee auf meinem Mac, der den Port 8081 blockiert, und musste ihn in 8082 ändern.
Führen Sie zuerst Ihren Paketserver aus:
Öffne ein anderes Terminal, starte die Android App wie gewohnt:
Wenn es fertig ist, schreiben Sie jetzt den TCP-Port neu, der die Tunnel adb:
Siehe die Liste der ADB TCP-Tunnel:
Sie sollten jetzt eine herzerwärmende Nachricht sehen:
Gehen Sie zu Ihrer App und laden Sie sie neu, fertig!
PS: Ändern Sie nichts in den Dev-Einstellungen der App. Wenn Sie "localhost: 8082" hinzugefügt haben, entfernen Sie es einfach und lassen Sie es leer.
BEARBEITEN: Für alle McAfee-Opfer gibt es eine einfachere Lösung, wenn Sie über Root-Zugriff verfügen. Beenden Sie den McAfee-Prozess auf Port 8081 nur vorübergehend, ohne dass ein Portwechsel erforderlich ist:
quelle
Ich denke du hast kein Garn installiert. Versuchen Sie, es mit Schokolade oder etwas anderem zu installieren. Es sollte vor dem Erstellen Ihres Projekts installiert werden (Befehl react-native init).
Sie müssen kein Assets-Verzeichnis erstellen.
Antworte, wenn es nicht funktioniert.
Bearbeiten: In der aktuellen Version von React-Native haben sie es behoben. Wenn Sie vollständige Freiheit von diesem einfach deinstallierenden Knoten wünschen (für eine vollständige Deinstallation den Knoten vollständig entfernen, siehe diesen Link) und den Knoten neu installieren möchten , reagieren Sie auf native-cli und erstellen Sie dann Ihr neues Projekt.
quelle
Vergessen Sie nicht, das Internet im Emulator einzuschalten. Ich habe diesen Fehler behoben. Es funktioniert perfekt: V Ich erhalte diesen Fehler, weil ich das Internet ausschalte, um NetInfo: D zu testen
quelle
Dies ist eine allgemeine Fehlermeldung, die möglicherweise während der Entwicklung der nativen Anwendungsreaktion aufgetreten ist. In diesem Tutorial werden wir eine Lösung für dieses Problem bereitstellen.
Problembeschreibung: Skript aus Assets index.android.bundle unter Windows kann nicht geladen werden Skript aus Assets index.android.bundle unter Windows kann nicht geladen werden
Führen Sie die folgenden Schritte aus, um das oben genannte Problem zu lösen:
Schritt 1: Erstellen des Ordners "Assets" in Ihrem Projektverzeichnis Erstellen Sie nun einen Ordner "Assets" im Projektverzeichnis "MobileApp \ android \ app \ src \ main". Sie können den Assets-Ordner manuell erstellen:
<OR>
Sie können einen Ordner auch mit dem Befehl erstellen. Befehl: mkdir android / app / src / main / assets
Schritt 2: Ausführen Ihrer React Native-Anwendung Führen Sie den folgenden Befehl aus, um die React Native-Anwendung im Emulator oder auf einem physischen Gerät auszuführen.
Wechseln Sie in das Projektverzeichnis. cd MobileApp
Führen Sie den folgenden Befehl aus, mit dem Sie Ihr Android-Anwendungsprojekt bündeln können.
reaktionsnatives Bundle - Plattform android --dev false --Eintragsdatei index.js --Bundle-Ausgabe android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res
Führen Sie den letzten Schritt aus, um die native Reaktion im Emulator oder auf einem physischen Gerät auszuführen. React-Native Run-Android
<OR>
Sie können auch die letzten beiden Befehle in einem kombinieren. In diesem Fall müssen Sie den Befehl nur einmal ausführen.
reaktionsnatives Bundle - Plattform android --dev false --Eintragsdatei index.js --Bundle-Ausgabe android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res && reagiere-native run-android
<OR>
Sie können die obigen Schritte automatisieren, indem Sie sie wie folgt in Skripten von package.json platzieren:
"android-android": "reaktionsnatives Bundle --platform android --dev false --eintragsdatei index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets -dest android / app / src / main / res && reaktions-native run-android "
Wenn alles richtig eingerichtet ist, sollte Ihre neue App in Kürze in Ihrem Android-Emulator ausgeführt werden.
quelle
Folgen Sie diesem, arbeitete für mich.
https://github.com/react-community/lottie-react-native/issues/269
Gehen Sie in Ihr Projektverzeichnis und überprüfen Sie, ob dieser Ordner vorhanden ist. Android / app / src / main / assets i) Wenn er vorhanden ist, löschen Sie zwei Dateien, nämlich index.android.bundle und index.android.bundle.meta. Ii) Wenn die Ordner-Assets nicht vorhanden sind nicht vorhanden, dann erstellen Sie dort das Assets-Verzeichnis.
Führen Sie in Ihrem Stammprojektverzeichnis eine CD android && ./gradlew clean aus
Navigieren Sie abschließend zurück zum Stammverzeichnis und prüfen Sie, ob es eine einzige Eintragsdatei mit dem Namen index.js gibt. I) Wenn nur eine Datei vorhanden ist, dh index.js, führen Sie den folgenden Befehl aus: react-native bundle --platform android --dev false - -entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-dest android / app / src / main / res
ii) Wenn zwei Dateien vorhanden sind, dh index.android.js und index.ios.js, führen Sie dieses reaktionsnative Bundle aus - plattform android --dev false - Eintragsdatei index.android.js --bundle-output android /app/src/main/assets/index.android.bundle --assets-dest android / app / src / main / res
Führen Sie nun React-Native Run-Android aus
quelle
Ich bin gerade auf genau das gleiche Problem gestoßen und habe es gelöst. Ich hoffe, hilfreich zu sein.
Angenommen, Sie stellen ein Release- Anwendungspaket (.apk) zusammen.
Überprüfen Sie, ob Ihr Assets-Ordner vorhanden ist?: \ Android \ app \ src \ main \ Assets Wenn nicht, erstellen Sie einen.
Überprüfen Sie nach dem Ausführen von "Assemble Release", ob sich etwas in diesem Ordner befindet (\ android \ app \ src \ main \ assets). Wenn nicht, suchen Sie die js-Bundle-Datei ( index.android.bundle ), die sich in mehr als einem befinden sollte die folgenden Pfade:
* a) \ android \ app \ build \ intermediates \ fusionierte_assets \ release \ out \ index.android.bundle
b) \ android \ app \ build \ intermediates \ fusioned_assets \ release \ mergeReleaseAssets \ out \ index.android.bundle
c) \ android \ app \ build \ intermediates \ assets \ release \ index.android.bundle
d) \ android \ app \ build \ generate \ assets \ react \ release \ index.android.bundle *
Ein besserer Weg ist, "Alles" zu verwenden, um den Dateinamen zu suchen: index.android.bundle.
Kopieren Sie diese Datei dann in Ihren Assets-Ordner (\ android \ app \ src \ main \ assets \ index.android.bundle).
Gehen Sie zurück zu Powershell oder Befehlskonsole und führen Sie Folgendes aus:
Es sollte funktionieren.
Viel Glück!
quelle
Wenn ich React-Native auf 0.49.5 aktualisiere, tritt dieses Problem auf, und wenn ich diese Änderungen und Verwerfungen befolge
es verschwand.
quelle
Ich stehe vor diesem Problem, viel Suche und ich habe dieses Problem gelöst.
c:\ProjectFolder\ProjectName> react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Dann führen Sie die native Reaktion aus:
c:\ProjectFolder\ProjectName>react-native run-android
quelle
Für alle von euch, die sich aus einer Create-React-Native-App entwickeln und ausgeworfen werden und dieses Problem haben
development
, hat dies für mich nur ein kleines Detail aus der akzeptierten Antwort heraus funktioniertHier kommt der Teil, der sich ändert, weil Sie sich in der Entwicklung befinden und den
--dev: false
Teil loswerden :Nachdem Sie alle Terminals geschlossen haben, löschen Sie den Build-Ordner von Android / App /, um sicherzustellen, dass Sie sauber beginnen, um Ihre App zu erstellen, ein neues Terminal zu öffnen und
fordert die Packager-Konsole (in einem anderen Terminal) auf und erstellt erfolgreich
quelle