React native: проект Android не найден. Может быть, сначала запустить реактивный андроид?
У меня была проблема в моем проекте React-Native, которая раньше работала нормально, но вдруг она перестала работать. Всякий раз, когда я использовал команду:
react-native run-android
Я получил ошибку:
Android-проект не найден. Может быть, запустить сначала реагировать родной Android?
Я пробовал бегать:
react-native android
Но он сказал:
Unrecognized command 'android' Run react-native --help to see list of all available commands
После попытки:
D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject
Возвращенная ошибка была:
Сканирование папок по символическим ссылкам в D:\ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules (48 мс) name
приложения должно быть определено в app.json
конфигурации app.json
чтобы определить имя проекта. Он не должен содержать пробелов или тире.
Это файл app.json:
{
"expo": {
"name": "AwesomeProject",
"description": "A very interesting project.",
"slug": "AwesomeProject",
"privacy": "public",
"sdkVersion": "30.0.0",
"platforms": ["ios", "android"],
"ios": {
"supportsTablet": true
},
"android": {
"package": "com.project.first"
},
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
]
}
}
Ответы
Ответ 1
Я поднял этот вопрос и ответил себе, поскольку я думал, что это поможет другим, которые сталкиваются с подобной проблемой. Я много искал, чтобы узнать истинную причину этого, поскольку ошибка, показанная в терминале, не была точной.
Чтобы решить проблему, обновите пакет, отвечающий за реакцию.
Ссылка: https://github.com/facebook/react-native/issues/9312
Ответ 2
Я знаю, что это старый вопрос, но любое из этих решений не сработало для меня, и, возможно, есть другие, как я. Я решил проблему с запуском этой команды до run-android
react-native eject
Ответ 3
Мне так понравилось... Работало !!
- В корне проекта CMD запустите ответное обновление.
- если у вас все еще возникают проблемы, убедитесь, что у вас есть response-native в зависимостях json в package.json, добавьте его, если нет
- если проблемы по-прежнему возникают, то получите версию response native в cmd с помощьюact-native -v и проверьте, совпадают ли значения, возвращаемые в cmd и package.json. обновите файл package.json значением, возвращенным в cmd
Здесь моя проблема решена.
Ответ 4
В последней версииact-native это предложение появляется при попытке выполнить команду:
react-native eject
Сканирование папок по символическим ссылкам в D:\ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules (48 мс) Приложение name
должно быть определено в файле конфигурации app.json
, чтобы определить название проекта. Он не должен содержать пробелов или тире.
Теперь, когда вы вводите следующую команду:
D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native upgrade
Появляется следующее:
Сканирование папок по символическим ссылкам в D:\ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules (56 мс) Вы должны рассмотреть возможность использования нового инструмента обновления на основе Git. Это делает обновления проще, разрешая большинство конфликтов автоматически. Чтобы использовать это: - Вернитесь к старой версии React Native. - Запустите "npm install -g реактивный -g it-upgrade" - Запустите "реакцию-родной -g it-upgrade". См. https://facebook.github.io/react-native/docs/upgrading.html Реактивная версия в "package.json" не соответствует установленной версия в "node_modules". Попробуйте запустить "npm install", чтобы это исправить. Aborting.
В предложениях по реагированию на собственные команды Facebook есть четкое решение.
Эти команды проверяют текущую версию и требуется ли обновление.
Пожалуйста, смотрите также:
Решение "Экспо: не могу найти модуль LogReporter"
Ответ 5
У нас была эта проблема, потому что файлы из android папки gradlew и gradlew.bat (Gradle startup script для UN * X, Windows соответственно) каким-то образом попали в глобальный файл .gitignore и поэтому не были представлены в локальных средах.
На самом деле команда реагировать на основе обновления восстанавливает эти файлы, тем самым устраняя проблему.
Ответ 6
В качестве дополнения, в случае, если команда response-native не найдена, вам следует установить CLI реагировать на native:
npm install -g react-native-cli
Затем вы можете выполнить действия, указанные выше.
Более подробная информация: response-native: команда не найдена
Ответ 7
Мое рабочее решение ниже, ни одно из вышеперечисленного не сработало для меня:
CD в папку вашего проекта и введите expo start --android.
Или долгий путь:
- Откройте диспетчер AVD в Android Studio и запустите виртуальное устройство (после этого вы можете закрыть AS)
- CMD в папку вашего проекта и введите "начало выставки"
- После запуска Expo выберите вариант 2 "Нажми для эмулятора Android"
Он установит экспо на виртуальное устройство, и вы можете проверить оттуда
Ответ 8
Когда я запустил react-native eject
, я получил эту ошибку:
Both the iOS and Android folders already exist! Please delete 'ios' and/or 'android' before ejecting.
Ответ 9
Вы должны рассмотреть возможность использования нового инструмента обновления на основе Git. Это делает обновления проще, разрешая большинство конфликтов автоматически. Чтобы использовать его: - Вернитесь к старой версии React Native - Запустите "npm install -g реактивный-родной -g it-upgrade" - Выполните "реактивный-собственный -g it-upgrade" См. Https://facebook.github.io/react-native/docs/upgrading.html
Ответ 10
Если вы начали свой проект, выполнив
npm install -g create-react-native-app
create-react-native-app MyReactNative
npm install -g react-native-cli
npm start
после этого вы можете столкнуться с проблемой, упомянутой выше в вопросе. Итак, решение:
npm run eject