npm run android зависает на «Загрузка графа зависимостей, готово» (BlueWallet) - PullRequest
4 голосов
/ 08 марта 2019

Я пытаюсь клонировать BlueWallet из этого источника github .

Я клонировал проект и установил необходимые пакеты. Также эмулятор работает под управлением Android студии AVD.

Но всякий раз, когда я пытаюсь запустить npm start android, он зависает над текстом Loading dependency graph, done. и больше ничего не происходит!

это странно, потому что всякий раз, когда я пытаюсь запустить один и тот же сценарий и команды для запуска чистого реагирующего соединения, подключенного к эмулятору, он работает без проблем.

результат для npm start android следующий:

$ npm start android

> BlueWallet@3.8.3 start /home/Learning/ReactNative/BlueWallet
> node node_modules/react-native/local-cli/cli.js start "android"

   ┌─────────────────────────────────────────────────────────────────────────────        ─┐
│                                                                                  │
│  Running Metro Bundler on port 8081.                                             │
│                                                                                  │
│  Keep Metro running while developing on any JS projects. Feel free to            │
│  close this tab and run your own Metro instance if you prefer.                   │
│                                                                                  │
│  https://github.com/facebook/react-native                                        │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────    ─┘

Looking for JS files in
   /home/Learning/ReactNative/BlueWallet 

Loading dependency graph, done.

Ответы [ 3 ]

2 голосов
/ 11 марта 2019

Я нашел решение сам.На самом деле Loading dependency graph, done на самом деле не ошибка, и сервер ни на чем не зависает.Он просто ждет, пока к нему подключится эмулятор.

Вот что я сделал:

  • В отдельном терминале я запустил npm start, вот таксервер (упаковщик) запускается.

  • В другом терминале я запускаю npm run android.Теперь эмулятор будет выбран и подключится к порту 8081, на котором работает сервер из первой команды, и все будет хорошо.

Примечание : Iсделал некоторые повороты на некоторых частях проекта и сделал что-то на ОС, как следует.Если кто-то в будущем хотел сделать то же самое, возможно, будет полезно для него:

  • установить правильную переменную java home (добавьте ее в bashrc или profile или ..)

    export JAVA_HOME="/usr/lib/jvm/java-10-openjdk"
    export PATH=$JAVA_HOME/bin:$PATH
    
  • установить Android SDK и другие переменные env;

    export ANDROID_HOME=/home/execut3/android-sdk
    export ANDROID_SDK_ROOT=/home/execut3/android-sdk
    export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
    export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$PATH
    
  • для запуска эмулятора

    $ emulator -list-avds
    $ emulator -avd <avd name>
    
  • Если произошла ошибка Execution failed for task ':app:compileDebugJavaWithJavac' react native, в android/app/src/main/java/com/bluewallet/MainApplication.java в строке 19 измените ее на return true, чтобы игнорировать отладку.Кроме того, эта ссылка также может быть полезна.

  • добавить google() хранилище на более высоком месте, чем в android/build.gradle файле.

  • измените версию react-native на 0.57.5 в package.json файле и удалите node_modules, затем установите снова.

0 голосов
/ 13 марта 2019

В моем случае, я пытаюсь использовать «реакцию-нативный запуск-android», когда приложение запускает ошибку об «BASE_MAP.fill (255)».Затем я запускаю «npm run prepare», чтобы устранить ошибку, описанную выше.Я надеюсь, что мое решение может помочь вам.

Приложение работает на моем Android

0 голосов
/ 12 марта 2019

Иногда я сталкиваюсь с этой проблемой, особенно когда вы убиваете узел сервера, нажимая ctrl + c id, что-то вроде деинсталляции узла и установки более низкой версии, а затем n установки самой последней версии работающего сервера узла на другой порт

react-native start --port=8082
...