react native android nie załadował pakietu JS
[2]}próbuję uruchomić AwesomeProject na moim Nexus5 (android 5.1.1).
Jestem w stanie zbudować projekt i zainstalować go na urządzeniu. Ale kiedy go uruchamiam, mam czerwony ekran mówiącyNie można pobrać pakietu JS. Zapomniałeś uruchomić serwer programistyczny lub podłączyć urządzenie?
W reaccie natywnym iOS, mogę załadować jsbundle w trybie offline. Jak mogę zrobić to samo dla Androida? (A przynajmniej Gdzie mogę skonfigurować serwer adres?)
Update
Aby uruchomić z lokalnym serwerem, uruchom następujące polecenia w katalogu głównym projektu
- react-natywny start > / dev / null 2 > & 1 &
- ADB reverse tcp: 8081 tcp: 8081
Aby uruchomić bez serwera, spakuj plik jsfile do apk, uruchamiając:
- utwórz folder zasobów pod
android/app/src/main
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Proszę więcej szczegółów znajdziesz w odpowiedzi kzzzf.
21 answers
Aby spakować plik JS do swojego apk, mając uruchomiony serwer (react-native start
), Pobierz pakiet do katalogu zasobów swojej aplikacji:
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
W następnym wydaniu (0.12) naprawimy react-native bundle
Polecenie do pracy z projektami Androida zgodnie z oczekiwaniami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-17 01:02:38
W Ubuntu 14.04 u mnie działa:
cd (App Dir)
react-native start > /dev/null 2>&1 &
adb reverse tcp:8081 tcp:8081
Aktualizacja : Zobacz
Update 2: @ scgough otrzymaliśmy ten błąd, ponieważ React Native (RN) nie był w stanie pobrać JavaScript z serwera dev działającego na naszych stacjach roboczych. Możesz zobaczyć, dlaczego tak się dzieje tutaj:
Jeśli Twoja aplikacja RN wykryje, że używasz Genymotion lub emulatora, próbuje pobrać JavaScript z GENYMOTION_LOCALHOST (10.0.3.2) lub EMULATOR_LOCALHOST (10.0.2.2). W przeciwnym razie zakłada się, że używasz urządzenia i próbuje pobrać JavaScript z DEVICE_LOCALHOST (localhost). Problem polega na tym, że serwer dev działa na lokalnym Hostie twojej stacji roboczej, a nie na urządzeniu, więc aby go uruchomić, musisz:
- przesyłanie ruchu z (localhost urządzenia): 8081 / tcp do (localhost stacji roboczej):8081/tcp. To właśnie robi ta komenda adb.
- powiedz swojej aplikacji RN, gdzie może znaleźć Twój serwer deweloperski.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-15 12:06:41
Ok, myślę, że wiem, w czym problem. Miało to związek z wersją watchman
, którą uruchomiłem.
W nowej powłoce uruchom brew update
wtedy: brew unlink watchman
następnie: brew install watchman
Teraz możesz uruchomić react-native start
z folderu projektu
Zostawiam tę powłokę otwartą, tworzę nowe okno powłoki i uruchamiam: react-native run-android
z folderu mojego projektu. Wszystko jest w porządku ze światem.
Ps. Byłem pierwotnie na wersji 3.2 watchman. To poprawiło mnie do 3.7.
Pps. Jestem w tym nowy, więc może nie jest to najszybsza droga do rozwiązania, ale zadziałało dla mnie.
* WIĘCEJ INFORMACJI O URUCHOMIENIU / DEBUGOWANIU NA URZĄDZENIU *
Jeśli zainstalujesz aplikację na swoim urządzeniu z Androidem, a nie emulatorze, otrzymasz czerwony ekran śmierci (red screen of death) z błędemUnable to load JS Bundle
. Musisz ustawić serwer debugowania, aby Twoim urządzeniem był komputer z reactem...albo jego nazwa, albo adres IP.
- naciśnij urządzenie
Menu
button - Wybierz
Dev Settings
- Wybierz
Debug server host for device
- wpisz adres IP komputera i przeładuj JS plus Port Reacta np.
192.168.1.10:8081
Więcej informacji: http://facebook.github.io/react-native/docs/running-on-device-android.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-16 13:37:17
Z katalogu projektu Uruchom
react-native start
Daje następujące rezultaty:
$ react-native start
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/home/user/AwesomeProject
React packager ready.
[11:30:10 PM] <START> Building Dependency Graph
[11:30:10 PM] <START> Crawling File System
[11:30:16 PM] <END> Crawling File System (5869ms)
[11:30:16 PM] <START> Building in-memory fs for JavaScript
[11:30:17 PM] <END> Building in-memory fs for JavaScript (852ms)
[11:30:17 PM] <START> Building in-memory fs for Assets
[11:30:17 PM] <END> Building in-memory fs for Assets (838ms)
[11:30:17 PM] <START> Building Haste Map
[11:30:18 PM] <START> Building (deprecated) Asset Map
[11:30:18 PM] <END> Building (deprecated) Asset Map (220ms)
[11:30:18 PM] <END> Building Haste Map (759ms)
[11:30:18 PM] <END> Building Dependency Graph (8319ms)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-14 20:32:10
Proste rozwiązanie, które działa dla mnie z Ubuntu 14.04.
react-native run-android
Emulator (już uruchomiony) zwróci: nie można pobrać pakietu JS; uruchom ponownie serwer JS:
react-native start
Naciśnij Reload JS na emulatorze.
U mnie zadziałało. Mam nadzieję, że to pomożeWarning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 21:40:10
W aplikacji na Androida otworzyłem Menu (Command + M W Genymotion) - > Dev Settings - > debug server host & port for device
Ustaw wartość na: localhost: 8081
U mnie zadziałało.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-08 15:37:21
Po wypróbowaniu kombinacji odpowiedzi tutaj, to jest to, co działa dla mnie.
Używam Genymotion jako emulatora.1 Uruchom Emulator Genymotion.
2 z Terminala
cd AwesomeProject
react-native run-android # it loads in genymotion and fails with bundle error
react-native start > /dev/null 2>&1 & # from dsissitka
adb reverse tcp:8081 tcp:8081 # from dsissitka
3 Przeładuj z emulatora.
Ładuje się! Teraz mogę zacząć się rozwijać.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-24 04:15:40
Usuń aplikację z telefonu! Próbowałem kilku kroków, ale to w końcu się udało.
- jeśli wcześniej próbowałeś uruchomić aplikację, ale nie powiodło się, Usuń ją z urządzenia z Androidem.
- Run
$ react-native run-android
- otwórz Menu React Rage Shake z poziomu aplikacji na urządzeniu z Androidem, przejdź do
Dev Settings
, a następnie doDebug server host & port for device
. Tam wpisz swój adres IP serwera (IP komputera) i host8081
, np.192.168.50.35:8081
. Na komputerze mac adres IP komputera można znaleźć pod adresemSystem Preferences -> Network -> Advanced... -> TCP/IP -> IPv4 Address
. - Otwórz menu Rage Shake ponownie i kliknij
Reload JS
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-14 17:10:03
Najwyraźniej ADB reverse został wprowadzony w Androidzie 5.0
otrzymywanie" error: closed "dwa razy na" ADB reverse "
Chyba musimy iść dalej z odpowiedzią kzzzf
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26
Nie mam dość reputacji, aby komentować, ale to odnosi się do odpowiedzi dsissitka. Działa również w systemie Windows 10.
Dla przypomnienia, komendy to:
cd (App Dir)
react-native start > /dev/null 2>&1 &
adb reverse tcp:8081 tcp:8081
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 17:33:06
Otrzymywałem to na Linuksie po zatrzymaniu react-native run-android
procesu. Wygląda na to, że serwer węzłów nadal działa, więc następnym razem, gdy go uruchomisz, nie będzie działał poprawnie i Twoja aplikacja nie może się połączyć.
Poprawką jest zabicie procesu węzła, który działa w Xterm, który możesz zabić przez ctrl-c
w tym oknie (łatwiej) lub możesz go znaleźć za pomocą lsof -n -i4TCP:8081
, a następnie kill -9 PID
.
Następnie uruchom react-native run-android
ponownie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-13 20:27:07
Sprawdź połączenie wifi.
Inną możliwością może być to, że albo nie jesteś podłączony do Wi-Fi, podłączony do złej sieci, albo adres ip jest nieprawidłowy w Ustawieniach dev. Z jakiegoś powodu mój android odłączył się od wifi i zacząłem dostawać ten błąd, nieświadomie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-30 18:49:59
Znalazłem inną odpowiedź.
- ADB reverse: działa tylko na Androidzie 5.0+ (API 21).
- inny: Otwórz menu dewelopera, potrząsając urządzeniem, przejdź do Dev Settings , przejdź do debug server host dla urządzenia , Wpisz adres IP maszyny i port lokalnego serwera dev
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-23 06:12:05
Aktualizacja
Teraz w windows nie trzeba uruchamiać React-native start. Pakowacz uruchomi się automatycznie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-10 16:36:52
Jedna ważna rzecz, aby sprawdzić, że nikt nie wspomniał do tej pory: Sprawdź lokalny firewall, upewnij się, że jest wyłączony .
Zobacz moją odpowiedź tutaj: https://stackoverflow.com/a/41400708/1459275
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:43
Oto proste kroki, aby uruchomić aplikację na Androida (Wersja):
1. Przejdź do głównego katalogu aplikacji.
2. Uruchom to polecenie.
React-native bundle --platform android --dev false --entry-file indeks.android.js --bundle-output android / app / src / main/assets / index.android.bundle --assets-dest android / app / src/main / res
Wszystkie Twoje pliki są kopiowane.
3. Utwórz podpisany plik APK.
Otwórz android studio.
Zbuduj > Wygeneruj podpisany APK > [wypełnij wymagane dane, naciśnięcie klawisza musi zostać wygenerowane przed tym krokiem]
Twój APK powinien być generowany bez żadnych błędów. Zainstaluj na swoim urządzeniu i powinno to działać bez żadnych problemów.
Możesz również podłączyć urządzenie i bezpośrednio nacisnąć Uruchom ikonę w android studio do testowania.
Generowanie Klawiszy:
Goto C:\Program Files\Java\jdkx.x. x_x\bin
-
Run
Keytool-genkey-v-keystore d:\my_private_key.keystore-alias my-key-alias-keyalg RSA-keyze 2048-validity 10000
Prawdopodobnie poprosi Cię o podanie niektórych szczegółów. Zrób to, a Twój plik naciśnięcia klawisza ( my_private_key.keystore), który może być użyty do podpisania apk.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-16 06:08:38
Używam tylko Ubuntu i Androida i nie mogłem go uruchomić. Znalazłem naprawdę proste rozwiązanie, którym jest aktualizacja pakietu.plik json, zmiana tej linii:
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start"
},
Do
"scripts": {
"start": "adb reverse tcp:8081 tcp:8081 && node node_modules/react-native/local-cli/cli.js start"
},
A następnie uruchamiasz serwer wpisując
npm run start
Zapewnia to, że urządzenie z Androidem szuka serwera węzła na komputerze, a nie lokalnie w telefonie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-23 11:30:35
Uruchamianie npm start z katalogu React-native wyszło mi na dobre.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-14 06:55:13
Pierwsze pytanie dotyczyło przeładowania aplikacji w urządzeniu fizycznym.
Podczas debugowania aplikacji na urządzeniu fizycznym (np. przez adb), możesz przeładować pakiet JS, klikając przycisk "Akcja" w lewym górnym rogu urządzenia. Otworzy to menu opcji (Przeładuj, zdalnie Debuguj JS...).
Mam nadzieję, że to pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:54
Ten błąd można łatwo rozwiązać, wykonując następujące kroki:
//run the command at /android sdk / platforms-tool folder
adb reverse tcp:8081 tcp:8081
//now come to root folder of your app
1. npm start
2. create 'assets' folder inside rootApp/android/app/src/main/
3. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
4. make sure anyone physical or virtual device attached is running.
5. react-native run-android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-24 07:42:29
Możesz postępować zgodnie z instrukcjami podanymi na oficjalnej stronie, aby rozwiązać ten problem. Ten problem występuje na rzeczywistym urządzeniu , ponieważ pakiet JS Znajduje się w systemie deweloperskim, a aplikacja wewnątrz rzeczywistego urządzenia nie jest świadoma jego lokalizacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-07 07:55:42