14

Я пытаюсь запустить приложение-реагирование на эмулятор андроидов genymotion на моем mac. Когда я пишу react-native run-android Он получаетЗапуск реакции-native на эмулятор Android

Running /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081 
error: closed 
Could not run adb reverse: Command failed: /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081 
Building and installing the app on the device (cd android && ./gradlew installDebug... 
Could not install the app on the device, read the error above for details. 
Make sure you have an Android emulator running or a device connected and have 
set up your Android development environment: 
https://facebook.github.io/react-native/docs/android-setup.html 
MacBook-Pro-MacBook:ART-CarefulPeople macbook$ 

Тогда я попробовал:

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

Тот же результат.

Тогда я попробовал:

  1. react-native bundle --entry-file index.android.js --platform android --bundle-output android/app/src/main/assets/index.android.bundle

  2. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

  3. react-native run-android

Тот же результат.

Я пытался просто adb reverse tcp:8081 tcp:8081 и говорит error: closed

Когда я пытаюсь запустить приложение на Android-эмулятор SDK он получает ту же ошибку выше, но без error: closed.

От студии android Я могу запустить это приложение, и оно работает над genymotion. Скажите, пожалуйста, что мне делать, чтобы запустить приложение на Android-эмуляторе?

+4

'adb revese' работает только на устройствах Android 5.0+ – Xeijp

+1

Да. Я не знаю, что было Я только что воссоздал проект, и все работает нормально. – alborozd

+0

Я считаю, если ваш телефон Android (если у вас есть) подключен к компьютеру, он может попытаться установить его на этом устройстве. Если он подключен, я бы рекомендовал отключить его, убедившись, что ваш эмулятор запущен, а затем снова попытался выполнить команду «реагировать на собственные команды запуска и андроида». – jasonmerino

ответ

1

У вас была аналогичная проблема. Я обновил свой Genymotion и мои андроидные SDK/библиотеки/зависимости, и все, казалось, работало.Для того, чтобы обновить свои SDK, я использовал андроида менеджер SDk {ANDROID_SDK_FOLDER}/tools/android sdk

28

У меня была аналогичная проблема, и после того, как тратить так много времени и много поиска по этому вопросу только трюк работал для меня:

  1. Пожалуйста, установите необходимые SDKs, как показано на этом рисунке Configure Required SDKs
  2. Если вы уже установили его, так что вы должны обновить следующую SDKs:
    • Android SDK Tool (обновить его до последней версии)
    • Android SDK Platform-tools (обновить его до последней версии)
    • Android SDK Build-tools (обновить его до последней версии)
    • Android Support Repository под Extra папку (обновить его до последней версии)
  3. Вы должны иметь по крайней мере Installed той же версии Android API в качестве установленного Android SDK Build-tools & Android SDK Platform-tools версии, как показано на рисунке Configure Required SDKs

Note: Local Maven repository for Support Libraries which is listed as the SDK requirement in the official docs of React-native is now named as Android Support Repository in the SDK Manager .

+0

Привет, друзья! Если вам нравится этот ответ, пожалуйста, не забудьте проголосовать ... Спасибо :) –

+0

Можете ли вы объяснить, как он обращается к 'adb reverse tcp: 8081 tcp: 8081'' error: closed' problem? –

+1

Это может произойти из-за вашей версии ОС Android ... 'adb reverse tcp: 8081 tcp: 8081' работает только с устройствами с версией ОС> = 5 –

2

Случилось со мной, что у меня был экземпляр упаковщика, работающего со старым проектом (я, как обычно, запустил ответный корень). Я использовал Ubuntu 14.04. Так что я сделал, чтобы остановить этот экземпляр и перейти к моей папке проекта и в двух различных вкладок консоли я отдельно запустил эти две команды:

npm start #here I used to run react-native start 
react-native run-android 

начало НПМ определяется в моем package.json как:

"start": "node_modules/react-native/packager/packager.sh" 

Я не знаю, есть ли какие-то запутывающие вещи для реагирования, но это было трюк.

7

У меня была аналогичная проблема с эмулятором из студии android каждый раз или на физическом устройстве. Вместо этого, вы можете быстро запустить андроид эмулятор из командной строки,

android avd 

После того, как эмулятор работает, вы можете проверить с adb devices, если эмулятор показывает вверх. Тогда вы можете просто использовать react-native run-android для запуска приложения на эмуляторе.

Удостоверьтесь, что у вас установлены инструменты для платформы, чтобы использовать adb. Или вы можете использовать

brew install android-platform-tools 
1

В Windows 10 и Android Studio вас Канна идти в Android Studio «Файл» -> «Настройка» в настройках затем «Внешний вид & Поведение» -> «Настройка системы» -> " Android SDK ". Вкладка «SDK Tools» активна:

  • «Android SDK Build-Tools ..»"
  • "Android Emulator"
  • "Android SDK Plattform-Tools"
  • "Android SDK Tools"

Если все установлено, то вы можете запустить эмулятор в Android Studio с "Инструменты" -> «Android» -> «AVD Manager». Если запускается эмулятор, вы можете попробовать «реагировать на собственный запуск-андроид»