Подтвердить что ты не робот

ReactNative build для андроида просто замерзает на последнем шаге

Я всегда разрабатывал проект React Native; когда я столкнулся со следующей ошибкой после выполнения react-native run android или эквивалентно cd android && ./gradlew installDebug. Это просто на последнем шаге, что это исключение поймано: `

:app:assembleDebug
:app:installDebug
Exception in thread "Device List Monitor" java.lang.NullPointerException
        at com.android.ddmlib.EmulatorConsole.checkConnection(EmulatorConsole.java:317)
        at com.android.ddmlib.EmulatorConsole.getConsole(EmulatorConsole.java:231)
        at com.android.ddmlib.DeviceMonitor.queryAvdName(DeviceMonitor.java:248)
        at com.android.ddmlib.DeviceMonitor.updateDevices(DeviceMonitor.java:220)
        at com.android.ddmlib.DeviceMonitor.access$400(DeviceMonitor.java:65)
        at com.android.ddmlib.DeviceMonitor$DeviceListUpdateListener.deviceListUpdate(DeviceMonitor.java:662)
        at com.android.ddmlib.DeviceMonitor$DeviceListMonitorTask.processIncomingDeviceData(DeviceMonitor.java:847)
        at com.android.ddmlib.DeviceMonitor$DeviceListMonitorTask.run(DeviceMonitor.java:781)
        at java.lang.Thread.run(Thread.java:745)
> Building 97% > :app:installDebug`

Я кодирую в реакционной версии 0.43.2 и react-native-cli 2.0.1, также npm 4.1.2 и пряжу 0.21.3; Ubuntu 16.04. Таким образом, все готово к зубам по последней версии, но я все еще не могу понять проблему. Это происходит даже для проекта, который я просто создаю с помощью react-native init, где угодно.:( Постскриптум убедитесь, что мой эмулятор запущен и проблема не из-за этого.

4b9b3361

Ответ 1

Попробуйте перезапустить adb, чтобы он исследовал локальный порт 5554

killall adb; adb devices

Ответ 2

На самом деле, я так и не нашел причину или решение проблемы. Но то, что я знаю, я продолжал свою ежедневную работу, и через день или два (с парой перезапусков в этот период) он снова начал работать. И до сих пор я не сталкивался с проблемой снова.

Ответ 3

попробуйте указать путь для sdk/build-tools в терминале

export PATH="Users/YOURUSERNAME/Library/Android/sdk/build-tools/...":$PATH

после этого перезапустите эмулятор и попробуйте

npm run android   

Ответ 4

Я нашел исправление, которое работает для меня:

  1. Закройте эмулируемое устройство, чтобы при запуске adb devices ничего не отображалось
  2. Запустите программный react-native run-android чтобы сборка не удалась с No connected devices! ошибка
  3. Перезапустите эмулятор и снова запустите react-native run-android

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

Ответ 5

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

Warning: The post-install step did not complete successfully

Если это так, проверьте, что показывает окно сторожа. Если это что-то вроде этого:

 Watchman: watchman --no-pretty get-sockname returned with exit code=1, signal=null, stderr= 2018-08-24T17:37:44,142: [0x7fffab20d380] while computing sockname: failed to create /usr/local/var/run/watchman/macbookpro-state: No such file or directory

Делать

> brew uninstall watchman
> cd /usr/local/var/
> sudo chown -R $(whoami) var
> brew update
> brew install watchman

Убить/закрыть эмулятор устройства и запустить команду

> react-native run-android

Вы должны увидеть сбой действия с сообщением, как

> com.android.builder.testing.api.DeviceException: No connected devices!

Теперь повторите команду, чтобы увидеть, что компиляция прошла успешно и приложение открывается в эмуляторе.

> react-native run-android