błąd "nie można pobrać pakietu, upewnij się, że pakiet jest prawidłowo zapakowany" przy starcie aplikacji

Próbując stworzyć react-natywny projekt na Androida 4.4.2 dostaję ten ekran błędu

wspomniany błąd

I nie mogłem znaleźć sposobu, aby to rozwiązać. Próbowałem ponownie uruchomić program pakujący, ponownie podłączyć urządzenie, a nawet ponownie zainstalować React native i rozpocząć nowy projekt. Na 6.0.0 i nowszych wersjach działa dobrze.

Author: Zygro, 2016-08-10

30 answers

Możliwym rozwiązaniem jest to, że najprawdopodobniej nie łączysz najpierw aplikacji, wykonaj następujące kroki, a następnie wdroż debugowanie aplikacji.apk do urządzenia

$ 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"

(Jeśli folder assets nie istnieje utwórz go)

Następnie uruchom z katalogu głównego projektu

$> (cd android/ && ./gradlew assembleDebug)

Zainstaluj utworzony apk do urządzenia, z lokalizacji: android/app/build/outputs/apk/app-debug.apk

Daj mi znać, jeśli to rozwiąże twój problem

EDIT :

Możesz po prostu umieścić go na swojej paczce.json jako skrypt do automatyzacji, wierzę, że zostanie naprawiony w nadchodzących wydaniach React-native i zostanie wykonany przed złożeniem końcowego APK, dlatego nie będzie to potrzebne (mam nadzieję, jak również)

Umieścić:

"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/"
  },

Lub jak wspomniano równoważnik curl, ale w większości przypadków powyższy jest bardziej wytrzymały

 150
Author: tbo,
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-28 19:54:01

Też natknąłem się na ten problem. To, co zrobiłem, to wymusić zabicie aplikacji na moim urządzeniu, a następnie otworzyłem kolejną konsolę i uruchomiłem

react-native start

A potem ponownie otworzyłem aplikację z mojego urządzenia i znowu zaczęła działać.

EDIT: jeśli używasz urządzenia z Androidem przez USB i odłączyłeś je lub komputer poszedł w tryb uśpienia, być może będziesz musiał najpierw uruchomić

adb reverse tcp:8081 tcp:8081
 113
Author: Felipe,
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-10-06 01:20:18

Właśnie dostałem ten błąd. Oto, co zrobiłem, aby naprawić: Wybrałem Dismiss, Weszłem do menu programisty, a następnie Dev Settings, Wybierz Debug server host & port for device, dodałem adres IP komputera i port: 192.168.0.xx:8xxx, używaj dowolnego adresu IP przypisanego do maszyny deweloperskiej w sieci wifi. Port jest zwykle :8081

Kiedy to zrobiłem, wszystko poszło dobrze. Ponadto, gdy jesteś w menu dev pamiętaj, aby wybrać Enable Live Reload i Debug JS Remotely, znacznie ułatwia to twoje życie podczas debugowania.
 28
Author: cube,
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-08-15 19:30:33

To dla mnie zadziałało (po wypróbowaniu każdego innego rozwiązania, które znalazłem ...):

Run adb reverse tcp:8081 tcp:8081 inside \Android\sdk\platform-tools

 23
Author: Chaim Salzer,
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-09-14 17:09:50

Dostałem to również, gdy zacząłem po raz pierwszy z React Native, używając fizycznego urządzenia. Jeśli tak jest, musisz zrobić kilka dodatkowych rzeczy, zanim będziesz mógł zacząć. Musisz wprowadzić pewne informacje o swojej maszynie programistycznej w 'Ustawieniach Dev' w React Native.

Gdy zobaczysz błąd, potrząśnij urządzeniem . Pojawi się okno dialogowe, ostatnią opcją będzie "Dev Settings". Wybierz "debug server hot & port dla urządzenia" i wprowadź lokalny adres IP i używany port (8081)

Zobacz ostatni akapit https://facebook.github.io/react-native/docs/running-on-device-android.html

 16
Author: Richh94,
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-09-18 20:32:31

Jeśli żadne z rozwiązań nie działa dla ciebie spróbuj tego:

Odkryłem, że mój katalog <root>/android/app/build/intermediates/assets/debug był pusty i uruchamiając cd android && ./gradlew assembleDebug nie tworzyłem wymaganych plików, które są później używane przez wątek javascript w naszych natywnych aplikacjach reactowych.

Uruchomiłem ręcznie następujące polecenie, które powinno być stworzone przez polecenie debug build.

node node_modules/react-native/local-cli/cli.js bundle --platform android --dev true --reset-cache --entry-file index.android.js --bundle-output /<path to dir>/android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest /<path to dir>/android/app/build/intermediates/res/merged/debug

Po uruchomieniu tych poleceń znalazłem dwa pliki pakietu w tym katalogu <root>/android/app/build/intermediates/assets/debug

A potem uruchomiłem ponownie cd android && ./gradlew installDebug moja aplikacja zaczęła działać jeszcze raz.

Debuguje więcej i aktualizuje to, co faktycznie zawodzi.

 7
Author: Sumit Kushwaha,
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-09-15 12:57:39

W oddzielnym terminalu podłącz urządzenie do komputera i uruchom następujące polecenia:

react-native start 
cd user/Library/Android/sdk/platform-tools/
./adb reverse tcp:8081 tcp:8081

Zastosowanie terminal:

react-native run-android 
install apk on your device from this location android/app/build/outputs/apk/app-debug.apk
 7
Author: Brijmohan Karadia,
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-01-26 13:07:42

Trochę za późno, ale to naprawdę działa.

  1. react-native run-android.
  2. react-native start.

Pierwsze polecenie zbuduje apk dla Androida i wdroży go na urządzeniu, jeśli jest podłączony. Po otwarciu aplikacji pojawi się czerwony ekran z błędem. Następnie uruchom drugie polecenie, które uruchomi packager i zbuduje pakiet aplikacji dla Ciebie.

 6
Author: Shamsher,
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-04-30 16:38:01

Spróbuj tego polecenia w terminalu, a następnie przeładuj. To działało dla mnie

Adb reverse tcp: 8081 tcp: 8081

 5
Author: Praneeth,
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-10-04 23:21:22

Zobacz Wydanie :

1.react-natywny start

2.kliknij Reload(R,R) na urządzeniu.

 5
Author: XYz Amos,
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-10-21 03:29:09
  1. Uruchom ponownie genymotion
  2. run react-native run-android
  3. problem został rozwiązany
 5
Author: Mike Yang,
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-11-08 04:40:33

Miałem ten sam wyjątek na urządzeniu Z3 Compact D5803-6.0.1

Otworzyłem .plik buckconfig i zmieniono linię:

target = Google Inc.:Google APIs:23

Do

target = Google Inc.:Google APIs:24

Ponieważ widziałem w Menedżerze SDK, że Android 6.X ma poziom api 24.

 4
Author: laszl0,
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-08-13 16:26:00

Dla mnie to dlatego, że {[0] } nie było w PATH. Znajduje się /Users/man/Library/Android/sdk/platform-tools dla mnie, może być gdzieś indziej dla ciebie, ale w każdym razie, znajdź go i dodaj do swojej ścieżki, aby zobaczyć, czy to pomoże.

 3
Author: h--n,
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-11-16 13:22:19

Ponieważ używasz Androida adb reverse, ale Facebook dodał oficjalną dokumentację , aby połączyć się z serwerem deweloperskim przez Wi-Fi , która będzie obsługiwać twoją wersję. Cytując instrukcje dla MacOS, ale mają je również dla Linuksa i Windows:

Metoda 2: Połączenie przez Wi-Fi

Możesz również połączyć się z serwerem deweloperskim przez Wi-Fi. Najpierw musisz zainstalować aplikację na urządzeniu za pomocą kabla USB, ale gdy już to zrobisz, możesz debugować bezprzewodowo, postępując zgodnie z tymi instrukcjami. Przed kontynuacją będziesz potrzebował bieżącego adresu IP maszyny programistycznej.

Adres IP znajdziesz w Preferencjach systemowych → sieć.

Upewnij się, że twój laptop i telefon są w tej samej sieci Wi-Fi. Otwórz aplikację React Native na swoim urządzeniu. Zobaczysz czerwony ekran z błędem. W porządku. Następujące kroki to naprawią. Otwórz menu programista w aplikacji. Przejdź do ustawień Dev → Serwer debugowania dla urządzenia. Wpisz adres IP komputera i port lokalnego serwera dev (np. 10.0.1.1: 8081). Wróć do menu programisty i wybierz opcję Przeładuj JS.
 3
Author: Jesús Carrera,
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
2020-06-20 09:12:55

Miał ten problem "przypadkowo" i zajęło mi kiedyś uświadomić sobie, co było nie tak w moim scenariuszu.

Po zaktualizowaniu do React-native-cli 2.0.1, pojawił się komunikat do dziennika, który pomógł mi wykopać i znaleźć główną przyczynę:

Js server nie rozpoznany, kontynuując build...

Po zbadaniu kilku linków znalazłem ten:

Nie można rozpoznać serwera JS

Ponieważ Im na windows, uruchomiłem netstat i dowiedziałem się, że mój odtwarzacz VLC również działał na porcie 8081 powodując problem. Tak więc, w moim przypadku, gdybym uruchomił serwer vlc przed serwerem React-native, nie działałoby to.

Ten sam komunikat dziennika nie był wyświetlany w poprzednich wersjach React-native-cli, co powodowało, że nie działał po cichu.

TL, DR: sprawdza czy na tym samym porcie co menedżer pakietów działa cokolwiek (domyślnie 8081)

 3
Author: Luiz Henrique Martins Lins Rol,
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:18:28

Mój problem polegał na tym, że przejrzałem mój plik AndroidManifest.xml i usunąłem linię

<uses-permission android:name="android.permission.INTERNET" />

Ponieważ moja aplikacja nie będzie potrzebowała Internetu. Jednak aplikacja do debugowania React native wymaga dostępu do Internetu (aby uzyskać dostęp do packagera). :)

 2
Author: SpencerL,
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-04-16 08:17:11

Spróbuj wyczyścić pamięć podręczną

React-native start --reset-cache

 2
Author: Hitesh Sahu,
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-11 13:45:19

Proszę sprawdzić, czy masz następujący błąd podczas uruchamiania react-native run-android: adb server version (XX) doesn't match this client (XX); killing...

W takim przypadku upewnij się, że /usr/local/opt/android-sdk/platform-tools/adb i /usr/local/bin/adb są wskazywane na to samo adb

W moim przypadku jeden był wskazywany na /Users/sd/Library/Android/sdk/platform-tools/adb (Android SDK) , a drugi na /usr/local/Caskroom/android-platform-tools/26.0.2/platform-tools/adb (Homebrew)

I problem został naprawiony po wskazaniu obu na /Users/sd/Library/Android/sdk/platform-tools/adb (Android SDK)

 2
Author: Serhey Dolgushev,
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-12-14 16:56:46

Ja też mam ten błąd, naprawdę zdezorientowany. bo wszystkie odpowiedzi nie działają. Zaraz po dodaniu adb do ścieżki.

 1
Author: Bruce Lee,
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-09-16 06:07:56

Dla mnie miałem włączoną i aktywną synchronizację stron. Zamknięcie go natychmiast sprawiło, że problem zniknął. Może warto zamknąć tę lub inną komunikację między komputerem a urządzeniem

 1
Author: lee_dabiker,
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-10-29 00:00:24

Musiałem otworzyć port, którego używałem (domyślnie 8081). W Linuksie możesz wykonać następujące czynności

sudo iptables -A INPUT -p tcp --dport 8081 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 8081 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Możesz sprawdzić, czy naprawdę musisz to zrobić. Po prostu przejdź do serwera deweloperów w Chrome na urządzeniu z Androidem. Jeśli nie zareaguje, to może być to, czego potrzebujesz. Jeśli zareaguje, to ci to nie pomoże.
 1
Author: Anthony Naddeo,
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-11-20 01:16:54

My way are:

react-native start

Następnie w urządzeniu za pomocą:

click to Reload.

Zobacz w konsoli React-native, będzie to fetch js bundle data.

 1
Author: ThienSuBS,
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-10 10:17:26

Miałem ten sam problem. Kiedy stworzyłem projekt React native za pomocą create-react-native-app AwesomeProject to dobrze działało w aplikacji Expo na telefonie. Potem chciałem użyć tego projektu quickstart do rozwijania mojego projektu i dostałem ten sam błąd, co Ty.

Po kilku badaniach dowiaduję się, że lepiej jest rozpocząć nowy projekt z React-native INIT AwesomeProject (z wszystkimi ustawieniami w React native docs), a następnie uruchomić polecenie:

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/

To powinno naprawić thing with bundle (--dev false nie wyświetla ostrzeżeń)

Wszystko, co musisz zrobić, aby aplikacja działała na Twoim wirtualnym / rzeczywistym urządzeniu, To:

react-native run-android
I powinno działać dobrze. Przynajmniej mi się udało.
 1
Author: Sebastian Voráč,
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-09 13:19:08

Dla mnie problem polegał na tym, że 'adb' nie został rozpoznany-sprawdź odpowiedź.

Aby to naprawić dodaj C:\Users\USERNAME\AppData\Local\Android\sdk\platform-tools do zmiennych środowiskowych

 1
Author: niceman,
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-27 10:50:41

Większość z nas ma do czynienia z tym problemem po raz pierwszy, kiedy uruchamiamy React native project#1.

Kilka prostych kroków rozwiązało mój problem:

Stworzyłem przykładowy projekt używając polecenia:

react-native init ReactProject1

Rozwiązanie

Poprawką jest pomoc local-cli\runAndroid\adb.js w znalezieniu adb.exe, tak samo jak local-cli\runAndroid\runAndroid.js:

Znajdź polecenie replace pod projectname (cokolwiek podałeś) \node_modules\react-native\local-cli\runAndroid

Zastąp:

const devicesResult = child_process.execSync('adb devices');

By:

const devicesResult = child_process.execSync( (process.env.ANDROID_HOME ? process.env.ANDROID_HOME + '/platform-tools/' : '') + 'adb devices');

Po wykonaniu powyższych wymiana, po prostu uruchom React-native run-android w cmd, będzie wiązać apk i na początku spróbować zainstalować pakiet js lokalnie w urządzeniu. (Mam Sukces)

 1
Author: DeepakPanwar,
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
2019-09-20 03:49:37

Próbowałem wielu sugestii powyżej/poniżej, ale ostatecznie problem, z którym się spotkałem, to uprawnienia z watchman, który został zainstalowany przy użyciu homebrew wcześniej. Jeśli spojrzysz na wiadomości terminala podczas próby użycia emulatora i napotkasz błędy "Permission denied" w odniesieniu do watchmana wraz z Komunikatem "Could not get BatchedBridge" na emulatorze, wykonaj następujące czynności:

Przejdź do katalogu /Users/<username>/Library/LaunchAgents i zmień ustawienia uprawnień, aby użytkownik mógł czytać i Pisz. Dzieje się tak niezależnie od tego, czy rzeczywiście masz tam plik com.github.facebook.watchman.plist.

 0
Author: alexfigtree,
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-11 23:55:20

Stwierdziłem, że muszę również dodać w

React-native upgrade

Aby aplikacja działała poprawnie.

 0
Author: M. Solle,
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-04-12 19:37:57

Mam ten sam problem, ale to był głupi błąd z mojej strony...

Z Android studio, uruchamiałem installDebug/installRelease gradle script z app projet zamiast root projet.

 0
Author: Martin Choraine,
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-11-07 19:20:07

Najprostszy Sposób!

  • Zatrzymaj serwer i zakończ budowanie projektu.
  • Otwórz węzeł'.terminal js.
    • przejdź do folderu z projektem' React-native'.
    • Wpisz 'React-native start' --uruchamianie serwera React native ręcznie.
  • przejdź do edytora kodu i wpisz ' React-native run-android.

Możesz iść!

 0
Author: Jason,
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
2018-05-28 05:24:02

Po prostu uruchom ponownie system lub cały pakiet, a problem może zostać rozwiązany.

 0
Author: Vinayak Gupta,
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
2018-09-25 08:21:53