React Native: приложение не загружается, но не выдает сообщений об ошибках после установки реакции-навигации - PullRequest
0 голосов
/ 24 февраля 2020

Я выполнил все шаги на странице React Native , включая запуск npx react-native init AwesomeProject для создания начального проекта. (Я следую инструкциям для «Быстрого запуска собственного интерфейса командной строки» / «macOS» / «Android»). Затем я открываю Android Studio, запускаю эмулятор, захожу в папку проекта и запускаю npx react-native run-android. Все отлично работает Я тут и там настраиваю стартовый проект, перезагружаю, и все работает.

Но мне нужно использовать React Navigation. Я следую инструкциям здесь и, очевидно, React Navigation устанавливается без каких-либо проблем. Затем, когда я снова запускаю npx react-native run-android, эта вещь успешно создается, и эта вещь Metro - эта отдельная вкладка / окно терминала - говорит "сделано" Но эмулятор не показывает мое приложение. На секунду он показывает пустую страницу, а затем исчезает, и я получаю начальный экран эмулятора. Это даже если я вообще не настраиваю стартовый код - я даже не пытаюсь импортировать React Navigation, все, что мне нужно сделать, чтобы вызвать эту ошибку, это установить его.

Вот что мой терминал вкладки выглядят как после npx react-native run-android:

enter image description here

enter image description here

Я пытался закрыть терминал и Android Studio после установки React Navigation. То же самое.

Я использую macOS 10.15.3 и Android Studio 3.5.3.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 04 мая 2020
  1. Перед сборкой приложения запустите "adb devices" и проверьте, отображается ли эмулятор в списке. Если проблема не в этом.

  2. Я знаю, что вы сказали, что следовали всему в React Navigation Documentation, но убедитесь, что вы не пропустили то, что ниже:

Чтобы завершить установку response-native-жест-обработчик, добавьте следующую строку вверху (убедитесь, что она вверху, и перед ней ничего нет) вашего входного файла, такого как index . js или Приложение. js:

import 'react-native-gesture-handler';

Примечание. Если вы пропустите этот шаг, ваше приложение может заработать sh в работе, даже если оно отлично работает в разработке .

0 голосов
/ 04 мая 2020

Я также видел эту проблему.

В сторону: Я использовал Android LogCat Studio, чтобы увидеть любые ошибки, возникающие при запуске моего приложения. Мой logcat содержал следующие ошибки. Хотя это не очень мне помогло.

--------- beginning of crash
2020-05-04 12:14:45.284 6139-6170/com.gettingstarted E/AndroidRuntime: FATAL EXCEPTION: FlipperConnectionThread
    Process: com.gettingstarted, PID: 6139
    java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.flipper.android.EventBase; see exception in other thread
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.285 6139-6169/com.gettingstarted E/AndroidRuntime: FATAL EXCEPTION: FlipperEventBaseThread
    Process: com.gettingstarted, PID: 6139
    java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
        at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:25)
        at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:44)
        at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.416 6171-6178/? E/.gettingstarte: Failed to send DDMS packet REAQ to debugger (-1 of 20): Broken pipe
2020-05-04 12:14:45.709 6171-6171/? E/SoLoader: couldn't find DSO to load: libjscexecutor.so result: 0
2020-05-04 12:14:45.800 6171-6203/? E/SoLoader: couldn't find DSO to load: libfbjni.so result: 0
2020-05-04 12:14:45.801 6171-6204/? E/AndroidRuntime: FATAL EXCEPTION: FlipperConnectionThread
    Process: com.gettingstarted, PID: 6171
    java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.flipper.android.EventBase; see exception in other thread
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.801 6171-6203/? E/AndroidRuntime: FATAL EXCEPTION: FlipperEventBaseThread
    Process: com.gettingstarted, PID: 6171
    java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:825)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:673)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:611)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:559)
        at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary(NativeLoaderToSoLoaderDelegate.java:25)
        at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:44)
        at com.facebook.jni.HybridData.<clinit>(HybridData.java:34)
        at com.facebook.flipper.android.FlipperThread.run(FlipperThread.java:25)
2020-05-04 12:14:45.817 1656-1656/? E/lowmemorykiller: Error writing /proc/6171/oom_score_adj; errno=22
2020-05-04 12:14:45.905 1775-1804/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property

Поиск по net Я нашел несколько людей, которые говорили об очистке вашей среды. Поэтому я сделал следующее:

  • создал новый эмулятор: проблема с изменениями не возникла
  • удалите "node_modules" и "package-lock. json" и затем запустите "npm install": без изменений
    проблема все еще присутствует
  • очищены все кэши / "node_modules" / "package-lock. json": проблема с изменениями не устранена -bundler-cache- * ")
  • другие люди говорят, что нужно удалить« rm -rf $ TEMP / react-native-packager-cache- * », но там не было папки« response-native-packager-cache » на моей windows машине
  • удалите node_modules и package-lock. json и затем запустите "npm install"
  • "npm очистка кэша --force"

Однако я наконец-то получил рабочую среду

  • , удалил "node_modules" и "package-lock. json"
  • " npm установить "
  • "cd android"
  • "gradle clean"
  • обратно на root запустить приложение

Мне показалось, что очистка кэша Gradle из-под Android была ключевым шагом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...