Próbuję uruchomić swój pierwszy projekt React Native po raz pierwszy na moim urządzeniu (Android 4.2.2).
I dostaję:
nie można załadować skryptu z zasobów index.android.bundle
Polecenia, których użyłem:
cd (project directory)
react-native start
react-native run-android
Loading dependency graph...
naLoading dependency graph, done
i naciśnij przycisk przeładowania w aplikacji.mkdir ... /assets && react-native bundle --platform..
NIE MOŻE całkowicie rozwiązać tego problemu, sprawdź to: stackoverflow.com/a/55511803/10139109Odpowiedzi:
Ten sam problem napotkałem podczas korzystania z samouczka React Native (programowanie w systemie Linux i kierowanie na system Android).
Ten problem pomógł mi rozwiązać problem w następujących krokach.
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
Można zautomatyzować powyższe kroki, umieszczając je w
scripts
ramachpackage.json
tak:Następnie możesz po prostu wykonać za
npm run android-linux
pomocą wiersza polecenia za każdym razem.źródło
index.android.js
? za każdym razem w terminalu musimy wstawić poleceniereact-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...
każdym razem, gdy uruchomię go ponownie z terminala i zajmuje to zbyt wiele czasu. Do Twojej wiadomości używam Ubuntu 14.04index.js
nie jestApp.js
Jeśli uruchamiasz aplikację na urządzeniu fizycznym i pojawia się ten błąd
spróbuj uruchomić polecenie:
To działało dla mnie ...
źródło
Spędziłem godziny próbując rozwiązać ten problem. Mój problem nie dotyczył systemu Windows, ale dotyczy Androida.
Dostęp do serwera programistycznego działał lokalnie i w przeglądarce emulatora. Jedyne, co nie działało, to dostęp do serwera programistycznego w aplikacji.
AndroidManifest.xml
Zobacz więcej informacji: https://stackoverflow.com/a/50834600/1713216
źródło
targetSdkVersion
do28
.Używanie npm wersji 4.3.0 Reaktywuj natywną wersję cli 2.01 Reaktywuj natywną wersję 0.49.5
W katalogu projektu
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
Nazwa pliku zmieniła się z index.android.js na index.js
źródło
index.js
zamiastindex.android.js
lubindex.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
Ten sam problem miałem z prawdziwym urządzeniem z Androidem.
Rozwiązanie: Na podstawie tej odpowiedzi Niltoid
dla użytkowników komputerów Mac: otwórz preferencje sieci, tutaj otrzymasz lokalny adres IP.
źródło
Jeśli używasz systemu Windows, uruchom polecenia w następujący sposób lub jeśli pojawi się błąd „Nie można znaleźć pliku pozycji index.android.js”
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
źródło
Aby rozwiązać ten problem, postępuj zgodnie z instrukcjami wymienionymi na oficjalnej stronie . Ten problem występuje na prawdziwym urządzeniu, ponieważ pakiet JS znajduje się w systemie programistycznym, a aplikacja na Twoim prawdziwym urządzeniu nie wie o jego lokalizacji.
źródło
react-native run-android
naprawionoMiałem ten sam problem w Macu, po spędzeniu 2 dni w końcu udało mi się dostać działa.
Odkąd
Emulator cellular data was turned off
dostawałemunable to load script from assets index.android.bundle make sure your bundle is running
.Upewnij się, że
Emulator cellular data is turned on
wykonując ten pakiet serwer był w stanie spakowaćindex.android.js
. Mam nadzieję, że pomoże to komuś, kto jest w fazie rozwoju.źródło
Emulator cellular data is turned on
? Gdzie to jest? Wirtualne urządzenie? Prawdziwe urządzenie?Ten sam problem mam już od kilku miesięcy. Początkowo korzystałem z rozwiązania @ Jerry'ego, jednak było to fałszywe rozwiązanie, ponieważ nie rozwiązało to w pełni problemu. Zamiast tego potraktował każdą kompilację jako kompilację produkcyjną, co oznacza, że każda niewielka zmiana dokonana w aplikacji oznaczałaby konieczność przebudowania całej aplikacji.
Chociaż jest to rozwiązanie tymczasowe, działa okropnie w dłuższej perspektywie, ponieważ nie jesteś już w stanie korzystać z niesamowitych narzędzi programistycznych React Native, takich jak ponowne ładowanie na gorąco itp.
Prawidłowe rozwiązanie to pokazane:
W swoim
MainApplication.java
pliku zastąp następujące elementy:z
ponieważ z jakiegoś powodu
BuildConfig.DEBUG
zawsze zwracał wartość false i powodował powstanie pliku pakietu w katalogu zasobów.Ręczne ustawienie tej wartości powoduje wymuszenie przez aplikację korzystania z programu pakującego. Nie zadziała to w produkcji, więc zmień go na false lub wartość domyślną.
Nie zapomnij również uruchomić
źródło
1 Przejdź do katalogu projektu i sprawdź, czy ten folder istnieje
android/app/src/main/assets
index.android.bundle
iindex.android.bundle.meta
2. Z katalogu głównego projektu wykonaj
3. Na koniec przejdź z powrotem do katalogu głównego i sprawdź, czy istnieje jeden plik pozycji o nazwie
index.js
Jeśli jest tylko jeden plik, np. Index.js, uruchom następującą komendę
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
Jeśli są dwa pliki, tj. Index.android.js i index.ios.js, uruchom to
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
źródło
System operacyjny: Windows
Inny sposób rozwiązania tego problemu po wypróbowaniu dwóch powyższych metod
(ponieważ zainstalowałem SDK nie w DOMYŚLNEJ LOKALIZACJI, takiej jak C: \ users \ "nazwa_użytkownika" \ appdata \ local \ sdk )
Jeśli zauważyłeś, że wiersz poleceń został ogłoszony: „adb” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne ... ”
Tak to się kończy:
Przykłady: Zainstalowałem SDK w D: \ Android \ sdk
Więc wstawię ścieżkę do Zmiennych Systemowych jeszcze 2 wiersze:
(Jeśli nie wiesz, jak edytować zmienne systemowe ścieżki, oto temat: /android/38321/what-do-i-type-in-path-variable-for-adb- server-to-start-from-cmd / 38324 )
Następnie ponownie uruchamiam cmd:
react-native run-android
To zadziałało dla mnie.
źródło
W moim przypadku usunąłem poniżej linii z MainApplication.java. (Który wcześniej został przeze mnie błędnie dodany.) : -
Następnie wyczyść projekt i naciśnij klawisz Command
źródło
Dla IOS:
W terminalu:
Usuń folder kompilacji za pomocą:
rm -r build
Uruchomić ponownie:
react-native run-ios
Alternatywnie, można otworzyć Finder przejdź do YOUR_PROJECT / iOS i usunąć ten build folderu .
Następnie uruchom ponownie:
react-native run-ios
Dla ANDROIDA:
W terminalu:
Usuń folder kompilacji za pomocą:
rm -r build
Uruchomić ponownie:
react-native run-android
Alternatywnie, można otworzyć Finder przejdź do YOUR_PROJECT / android / app i usunąć ten build folderu .
Następnie uruchom ponownie:
react-native run-android
źródło
android/app/bin
folderu w systemie Windows również działało. Zbudowałem ten projekt bezpośrednio z Android Studio, zamiast uruchamiaćreact-native run-android
, i wygląda na to, że zbudował coś złego, co musiałem usunąć ręcznie.W przypadku tego problemu po prostu go rozwiązuję, uruchamiając:
następnie
w wierszu poleceń. A potem mogę uruchomić:
Więc nie będę marnować czasu na bieganie:
każdego razu.
źródło
Napotkałem również ten problem, ponieważ kiedy uruchamiam projekty na emulatorze, działa dobrze, ale na prawdziwym urządzeniu daje ten błąd. Rozwiązuję ten problem, stosując następujące rozwiązanie
Pierwszy krok: Najpierw otwórz cmd i przejdź do folderu SDK manager Platform-tools
Drugi krok : teraz uruchom to polecenie:
po tym poleceniu sprawdź urządzenie na liście w wierszu polecenia
Trzeci krok : teraz uruchom to
Teraz konfiguracja jest zakończona
Czwarty krok : przejdź do katalogu projektu i uruchom to polecenie
źródło
po raz pierwszy stworzyłem nową aplikację za pomocą
react-native init project-name
. Mam ten sam błąd. więc wykonuję następujące kroki, aby rozwiązać ten problem w moim przypadku.sudo chown user-name-of-pc /dev/kvm
w moim przypadku.Podczas debugowania z telefonu z Androidem wybierz
Use USB to Transfer photos (PTP)
.Utwórz folder
assets
w nazwie projektu / android / app / src / mainindex.js
jesteś dostępny wroot
katalogu projektu, a następnie uruchom poniższe polecenie z konsoli pocd project-name
katalogu.lub dla index.android.js wtedy
uruchom polecenie
./studio.sh
wandroid-studio/bin
katalogu. Otworzy się Android Studio.uruchom polecenie
react-native run-android
.źródło
Upewnij się, że konstruktor metra działa, aby urządzenie fizyczne i serwer zostały zsynchronizowane
Najpierw uruchom to polecenie, aby uruchomić konstruktora metra
Następnie możesz rozpocząć kompilację w reakcji rodzimej
Tym razem nie powinno ich zabraknąć. Jeśli chcesz, aby Twój kod był aktywny, załaduj go ponownie po zmianie. Potrząśnij urządzeniem, a następnie stuknij opcję Włącz przeładowanie na żywo
źródło
Upewnij się, że dodałeś / path / to / sdk / platform-tools do swojej zmiennej path.
Po uruchomieniu natywnego run-androida uruchomione zostanie polecenie adb reverse tcp: <device-port> tcp: <local-port>, aby przekazać żądanie z urządzenia do serwera działającego lokalnie na komputerze. Zobaczysz coś takiego, jeśli adb nie zostanie znaleziony.
źródło
Może to być spowodowane niepołączonymi zasobami w bazie kodu projektu React Native, na przykład podczas zmiany nazwy identyfikatora aplikacji / pakietu lub dodawania zewnętrznego pakietu bez odpowiedniego połączenia.
Po prostu spróbuj w katalogu głównym projektu:
źródło
Jeśli podczas uruchamiania
react-native run-android
polecenia drugim wierszem śledzenia jestoznacza to, że nie można uruchomić programu pakującego dla aplikacji, a aplikacja nie załaduje się bez dodatkowych kroków. Pamiętaj, że koniec śledzenia nadal informuje o sukcesie:
Problemem jest prawdopodobnie konflikt portów (w moim przypadku była to domyślna witryna IIS, o której całkowicie zapomniałem). Innym przejawem problemu może być brak otwarcia
http://localhost:8081/debugger-ui
adresu URL w Chrome.Po rozwiązaniu konfliktu portów nastąpi raport śledzenia
wtedy otworzy się dodatkowe okno Węzła (
node ...cli.js start
) i aplikacja załaduje się / przeładuje pomyślnie.Następnie powinieneś być w stanie otworzyć konsolę debugowania w Chrome za pomocą
http://localhost:8081/debugger-ui
.źródło
Miałem ten sam problem, nawet gdy działałem na symulatorze. Zrobiłem szybkie obejście, aby mieć normalny przebieg pracy programisty.
Prawdopodobnie konieczne będzie cofnięcie zmiany podczas próby wykonania kompilacji produkcyjnej.
źródło
Miałem problem z McAfee na moim porcie blokującym Mac 8081, musiałem go zmienić na 8082.
Najpierw uruchom serwer pakietów:
Otwórz inny terminal, uruchom aplikację na Androida jak zwykle:
Po zakończeniu przepisz port TCP, który adbuje tunele:
Zobacz listę tuneli adb tcp:
Powinieneś teraz zobaczyć ciepłą wiadomość:
Przejdź do aplikacji i załaduj ponownie, gotowe!
PS: Nie zmieniaj niczego w ustawieniach Dev aplikacji, jeśli dodałeś „localhost: 8082”, po prostu go usuń, pozostaw puste.
EDYCJA: Dla wszystkich ofiar McAfee istnieje łatwiejsze rozwiązanie, jeśli masz dostęp do konta root, po prostu tymczasowo zabij proces McAfee siedzący na porcie 8081 i wcale nie musisz zmieniać portu:
źródło
Myślę, że nie masz zainstalowanej przędzy, spróbuj zainstalować ją z czekoladą lub czymś podobnym. Powinien zostać zainstalowany przed utworzeniem projektu (komenda init-native-init).
Nie ma potrzeby tworzenia katalogu zasobów.
Odpowiedz, jeśli to nie działa.
Edycja: W najnowszej wersji React-Native naprawili to. Jeśli chcesz całkowicie uwolnić się od tego, po prostu odinstaluj węzeł (w celu pełnej dezinstalacji Całkowicie usuń węzeł zapoznaj się z tym linkiem) i zainstaluj ponownie węzeł, React-native-cli, a następnie utwórz nowy projekt.
źródło
nie zapomnij włączyć internetu na emulatorze, ponownie umieściłem ten błąd, działa idealnie: V Dostaję ten błąd, ponieważ wyłączam internet, aby przetestować NetInfo: D
źródło
Jest to ogólny komunikat o błędzie, który mógł napotkać podczas reagowania na tworzenie aplikacji natywnych. W tym samouczku przedstawimy rozwiązanie tego problemu.
Opis problemu: Nie można załadować skryptu z zasobów index.android.bundle w systemie Windows Nie można załadować skryptu z zasobów index.android.bundle w systemie Windows
Wykonaj poniższe kroki, aby rozwiązać powyższy problem:
Krok 1: Utwórz folder „zasoby” w katalogu projektu Teraz utwórz folder zasobów w katalogu projektu, który brzmi „MobileApp \ android \ app \ src \ main”. Możesz ręcznie utworzyć folder zasobów:
<LUB>
możesz utworzyć folder również za pomocą polecenia. Polecenie: mkdir android / app / src / main / asset
Krok 2: Uruchamianie aplikacji React Native Uruchommy poniższą komendę, aby uruchomić aplikację React Native w emulatorze lub urządzeniu fizycznym.
Przejdź do katalogu projektu. cd MobileApp
Uruchom poniższe polecenie, które pomaga spakować projekt aplikacji na Androida.
pakiet React-Native - platforma Android - dv false --entry-file index.js - pakiet wyjścia Android / app / src / main / resources / index.android.bundle --assets-dest android / app / src / main / res
Uruchom ostatni krok, aby uruchomić zareagować natywną aplikację w emulatorze lub urządzeniu fizycznym. Reaktywny natywny run-android
<LUB>
Możesz także połączyć dwa ostatnie polecenia w jednym. W takim przypadku musisz wykonać polecenie tylko raz.
pakiet React-Native - platforma Android - dv false --entry-file index.js - pakiet wyjścia Android / app / src / main / resources / index.android.bundle --assets-dest android / app / src / main / res && reag-native run-android
<LUB>
Możesz zautomatyzować powyższe kroki, umieszczając je w skryptach w części package.json w następujący sposób:
„Android-Android”: „Reaktywny natywny pakiet - platforma Android - Dev false --entry-file index.js - pakiet-wyjście dla Androida / app / src / main / resources / index.android.bundle --assets -dest android / app / src / main / res && reag-native run-android "
Jeśli wszystko jest skonfigurowane poprawnie, wkrótce powinna pojawić się nowa aplikacja w emulatorze Androida.
źródło
Śledź to, pracował dla mnie.
https://github.com/react-community/lottie-react-native/issues/269
Przejdź do katalogu projektu i sprawdź, czy ten folder istnieje android / app / src / main / resources i) Jeśli istnieje, usuń dwa pliki, tj. Index.android.bundle i index.android.bundle.meta ii) Jeśli zasoby folderu nie istnieje, a następnie utwórz tam katalog zasobów.
Z katalogu głównego projektu wykonaj cd android && ./gradlew clean
Na koniec przejdź z powrotem do katalogu głównego i sprawdź, czy istnieje jeden plik wejściowy o nazwie index.js i) Jeśli istnieje tylko jeden plik, np. Index.js, uruchom następującą komendę reaguj na pakiet natywny - platforma Android - dev fałsz - -entry-file index.js --bundle-output android / app / src / main / resources / index.android.bundle --assets-dest android / app / src / main / res
ii) Jeśli istnieją dwa pliki, tj. index.android.js i index.ios.js, uruchom ten pakiet reagujący-natywny - platforma Android - dev fałszywe - plik-indeksu index.android.js - paczka z Androidem /app/src/main/assets/index.android.bundle --assets-dest android / app / src / main / res
Teraz uruchom reakcyjny natywny run-android
źródło
Właśnie spotkałem dokładnie ten sam problem i go rozwiązałem. Więc mam nadzieję, że będę pomocny.
Załóżmy, że tworzysz pakiet aplikacji wydania (.apk)
Sprawdź, czy istnieje folder zasobów ?: \ android \ app \ src \ main \ asset Jeśli nie, utwórz go.
Po wykonaniu „Assemble Release” sprawdź, czy w tym folderze jest coś (\ android \ app \ src \ main \ asset ). Jeśli nie, znajdź plik pakietu js ( index.android.bundle ). ), który powinien znajdować się w więcej niż jednym następujące ścieżki:
* a) \ android \ app \ build \ intermediates \ scaled_assets \ release \ out \ index.android.bundle
b) \ android \ app \ build \ intermediates \ scaled_assets \ release \ mergeReleaseAssets \ out \ index.android.bundle
c) \ android \ app \ build \ intermediates \ resources \ release \ index.android.bundle
d) \ android \ aplikacja \ kompilacja \ wygenerowana \ aktywa \ reaguj \ wydanie \ indeks.android.bundle *
Lepszym sposobem jest użycie „Wszystko” do przeszukiwania nazwy pliku: index.android.bundle.
Następnie skopiuj ten plik do folderu zasobów (\ android \ app \ src \ main \ resources \ index.android.bundle)
Wróć do PowerShell lub konsoli poleceń, wykonaj:
To powinno działać.
Powodzenia!
źródło
kiedy aktualizuję native-reakcyjny do 0.49.5, pojawia się ten problem i kiedy podążam za tym Zerwanie zmian i przestarzałości
zniknęło.
źródło
Mam do czynienia z tym problemem, dużo wyszukiwania i rozwiązałem ten problem.
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
Następnie uruchom reakcję natywną:
c:\ProjectFolder\ProjectName>react-native run-android
źródło
Dla was wszystkich, którzy rozwijacie się z aplikacji „reaguj na tworzenie” i wysunęli się, i mają ten problem
development
, to działało dla mnie tylko mały szczegół z zaakceptowanej odpowiedzinadchodzi część, która zmienia się, ponieważ jesteś w fazie rozwoju, pozbądź się tej
--dev: false
części:po tym zamknij wszystkie terminale, usuń folder kompilacji z Androida / app /, aby upewnić się, że zaczynasz od nowa, aby zbudować aplikację, otwórz nowy terminal i
wyświetli monit konsoli konsolowej (w innym terminalu) i zakończy się sukcesem
źródło