Реагировать на собственное приложение на эмуляторе, зависшем на белом экране

только на Android и только в эмуляторе, если я запускаю свое родное приложение, приложение не запускается и зависает на белом экране. Упаковщик в терминале не получает никаких запросов на подключение.

Раньше это работало, и это работает, когда я запускаю на устройстве ту же команду (реагировать на собственный запуск Android)

Я на React Native 0.57.8

Реагировать на собственное приложение на эмуляторе, зависшем на белом экране

Реагировать на собственное приложение на эмуляторе, зависшем на белом экране

Вот журналы, которые я получаю от react-native log-android:

    02-26 17:12:21.527  6544  6544 D ReactNative: ReactInstanceManager.ctor()
    02-26 17:12:21.606  6544  6544 D ReactNative: ReactInstanceManager.createReactContextInBackground()
    02-26 17:12:21.606  6544  6544 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner()
    02-26 17:12:21.629  6544  6544 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundFromBundleLoader()
    02-26 17:12:21.629  6544  6544 D ReactNative: ReactInstanceManager.recreateReactContextInBackground()
    02-26 17:12:21.629  6544  6544 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
    02-26 17:12:21.665  6544  6604 D ReactNative: ReactInstanceManager.createReactContext()
    02-26 17:12:21.727  6544  6604 D ReactNative: Initializing React Xplat Bridge.
    02-26 17:12:21.729  6544  6604 D ReactNative: Initializing React Xplat Bridge before initializeBridge
    02-26 17:12:21.735  6544  6604 D ReactNative: Initializing React Xplat Bridge after initializeBridge
    02-26 17:12:21.735  6544  6604 D ReactNative: CatalystInstanceImpl.runJSBundle()

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

Есть идеи, что может быть причиной этой проблемы?

возможно, попробуйте очистить кеш сборщика, например npm start -- --reset-cache. подождите, пока он запустится, а затем запустите эмулятор.

Mike M 26.02.2019 18:26

Единственная возможность, которая приходит мне на ум, - это сетевое подключение. Убедитесь, что ваш эмулятор имеет активное сетевое подключение, я вижу, что у вашего Wi-Fi есть небольшой крест, в чем причина этого? также проверьте, есть ли у вашего эмулятора какие-либо настройки прокси или что-то в этом роде?

Navneet kumar 27.02.2019 02:00

какая версия ОС у эмулятора?

flix 27.02.2019 03:32

Спасибо @Navneetkumar. ваш комментарий поставил меня на правильный путь. Раньше я пытался настроить Charles Proxy, и настройки все еще были активны...

otusweb 27.02.2019 12:02

Очень рад слышать, что ваша проблема исправлена, было бы еще лучше, если бы мой ответ был принят ..: D

Navneet kumar 27.02.2019 14:28

@Navneetkumar Я не могу принять комментарий в качестве ответа. Если вы добавите ответ ниже, я буду рад принять его

otusweb 28.02.2019 09:57

Я написал ответ на этот вопрос здесь: stackoverflow.com/a/65958958/5354268

Shn_Android_Dev 29.01.2021 18:26
3
7
4 445
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Благодаря @Navneet Kumar я узнал, что несколько недель назад пытался настроить Charles Proxy на эмуляторе. Я думал, что этот параметр ограничен одним эмулируемым устройством, но, видимо, этот параметр используется на всех устройствах. Возврат этих настроек и все работает (https://medium.com/@daptronic/the-android-emulator-and-charles-proxy-a-love-story-595c23484e02).

Спасибо

Ответ принят как подходящий

Единственная возможность, которая приходит мне на ум, - это сетевое подключение:

  1. убедитесь, что ваш эмулятор имеет активное сетевое подключение.
  2. Я вижу, что у вашего Wi-Fi есть небольшой крест, в чем причина этого?
  3. Кроме того, проверьте, есть ли у вашего эмулятора какие-либо настройки прокси или что-то в этом роде?

Это ошибка. Вы можете отследить Эта проблема для получения дополнительной информации. Единственное решение, которое они там упомянули, чтобы решить эту проблему, — это создать еще одно эмуляторное устройство в avd.


Обновлять

Другим решением было запустить приложение студией Android (открыв папку Android в студии Android) и запустить его, чтобы увидеть ошибки!

Я просто закрыл приложение, удалил его из эмулятора, а затем запустил react-native run-android теперь все в порядке

  1. Просто перейдите в командную строку, введите Ipconfig.
  2. Откройте расширенные элементы управления для эмулятора Android-> Настройки-Прокси
  3. Проверьте и вставьте IP-адрес в настройки прокси-сервера эмулятора и введите номер порта, например, 8888.
  4. Перезапустите приложение. Проверьте изображение для справки

В соответствии с ответом Амира я удалил свое виртуальное устройство Android и установил более новое, но все равно у меня был пустой экран.

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

In short by clearing app cache in emulator I was able to get back to working App

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

Manu S Pillai 25.03.2021 19:30

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

В конце концов я понял, что стиль = {{флекс: 1}} требуется для корневого компонента D'OH.

Другие вопросы по теме