我在React-Native项目中遇到了一个问题,该项目之前工作正常,但突然间它停止了工作。每当我使用命令时:
react-native run-android
我收到错误:
未找到Android项目。也许首先运行react-native 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(48ms) 必须在
name
配置文件中定义应用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": [
"**/*"
]
}
}
答案 0 :(得分:134)
我提出了这个问题并回答了自己,因为我认为它会帮助那些面临类似问题的人。我努力寻找其背后的真正原因,因为终端中显示的错误不准确。
要解决此问题,请升级react-native软件包。
输入以下命令升级命令提示符中的React本机程序包:
react-native upgrade
。
y (Yes)
来接受更新所有文件。答案 1 :(得分:22)
打开您的React Native Project根目录并找到android-> app-> build->中间体-> signing_config-> debug-> out-> signing-config.json。 删除此文件的signing-config.json 再试一次
或
1)有时候,如果我们使用的是较早版本的react native,并且某些新安装的软件包不支持较旧的版本。然后,您必须使用react-native upgrade命令更新react native项目。
答案 2 :(得分:19)
我知道这是一个古老的问题但是这些解决方案中的任何一个对我都不起作用,也许还有像我这样的人。我在 var UserSchema = new Schema({
id: String,
id_google: String,
type: String,
name: String,
email: String,
timestamp: { type: Date, default: Date.now },
pic_url: String
});
run-android
答案 3 :(得分:7)
我确实喜欢这个......工作!!
我的问题解决了。
答案 4 :(得分:6)
以管理员身份打开命令提示符并转到项目文件夹,运行android(npx react-native run-android)
答案 5 :(得分:5)
在最新版本的react-native中,当您尝试发出命令时,会出现此建议:
react-native eject
扫描文件夹中的符号链接 D:\ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules(48ms) 必须在
name
配置文件中定义应用app.json
,才能定义 项目名。它不能包含任何空格或破折号。
现在,当您发出以下命令时:
D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native upgrade
出现以下内容:
扫描文件夹中的符号链接 D:\ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules(56ms) 您应该考虑使用基于Git的新升级工具。它使 通过自动解决大多数冲突,可以轻松升级。要使用它: -返回旧版本的React Native -运行“ npm install -g react-native-git-upgrade” -运行“ react-native-git-upgrade”,请参见https://facebook.github.io/react-native/docs/upgrading.html “ package.json”中的react-native版本与安装的版本不匹配 “ node_modules”中的版本。尝试运行“ npm install”来解决此问题。 正在中止。
在Facebook react-native命令建议中,有一个明确的解决方案。
这些命令检查当前版本以及是否需要更新。
另请参阅:
答案 6 :(得分:3)
我们遇到此问题,因为来自 android 文件夹 gradlew 和 gradlew.bat 的文件(分别为UN * X,Windows的Gradle启动脚本)以某种方式进入全球.gitignore文件,因此没有在本地环境中呈现。
实际运行 react-native upgrade 命令还原这些文件,从而解决问题。
答案 7 :(得分:2)
我今天遇到了这个问题,没有一种解决方案适合我,所以我找到了另一个解决方案。
格式错误的AndroidManifest.xml会导致此问题,也许您今天像我一样设置了启动屏幕,但未以正确的方式格式化AndroidManifest
答案 8 :(得分:2)
删除文件:React Native Project根目录并找到android-> app-> build->中间物-> signing_config-> debug-> out-> signing-config.json。
答案 9 :(得分:1)
打开您的React Native Project根目录并找到android-> app-> build->中间体-> signing_config->调试-> out-> signing-config.json
删除文件,然后重试。
答案 10 :(得分:1)
就我而言,我没有对我的项目文件夹的正确权限。
如果是这种情况,只需在文件夹>属性>安全性>高级上单击右键,然后将文件夹的所有权更改为用户(包括子文件夹)的所有权。应该这样做
答案 11 :(得分:1)
我认为您可以检查的另一件事是,如果您以前以用户的不同角色运行该项目,例如在Windows中,如果您先前以管理员角色运行了react-native run-android。
答案 12 :(得分:1)
就我而言,我忘记添加Sudo。固定如下,
sudo npx react-native run-android
答案 13 :(得分:1)
对我来说,“ rm -rf android / app / build /”有效
答案 14 :(得分:1)
您必须使用管理员权限运行cmd。那为我解决了同样的问题。 没有做“弹出”或其他任何事情。
答案 15 :(得分:1)
我正在使用Android Studio(非博览会),这对我有效
react-native init <your-project-name>
答案 16 :(得分:1)
在Windows中以管理员身份运行Terminal可以解决我的问题……其他解决方案无效。
答案 17 :(得分:1)
作为补充,如果未找到react-native命令,则应安装react-native CLI:
npm install -g react-native-cli
然后您可以按照上述人员的步骤进行操作。
答案 18 :(得分:0)
我通过杀死java.exe的所有实例来解决了这个问题:
taskkill /f /im java.exe
。
答案 19 :(得分:0)
所以如果有人在这里遇到这个问题,什么对我有用,
{
"name": "ZedMusic",
"displayName": "zedmusic",
"expo": {}
}
项目名称必须在expo之外,然后运行npx react-native eject
答案 20 :(得分:0)
对我来说,这是停止不允许构建或清洁的 Firebase 功能服务的问题。因此,您可以检查项目目录中是否没有您正在运行的服务
答案 21 :(得分:0)
此错误可能发生在为您的项目生成 .apk
之后,或者当您处于开发阶段时,请转到 react-native
应用程序根目录中的 android 文件夹,然后检查以下两个路径删除signing-config.json
文件
1-
android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json
2-
android -> app -> build -> intermediates -> signing_config -> release -> out -> signing-config.json
答案 22 :(得分:0)
以管理员的身份打开项目。
react-native run-android
注意:确保你安装了 react-native cli。
要在 Windows 上安装 react-native cli,请运行。
npm install -g react-native-cli
答案 23 :(得分:0)
就我而言,我不小心删除了 AndroidManifest.xml
文件夹中的 android/app/src/main
。
答案 24 :(得分:0)
在 Windows 上,我的问题是由使用 mklink
创建指向另一个代码文件夹的符号链接引起的。
我有: ProjectDir/common -> ../commonCode
Windows 要求您在管理员模式下使用 mklink,所以我这样做了。在那之后,即使在管理 npx react-native run-android
终端中运行,我也无法再运行 cmd
而不会出现此错误。
我的解决方案是删除 mklink 创建的符号链接并在 git bash 终端中使用 ln -s ../commonCode common
。由于 Windows 处理符号链接的方式,这并不理想,但让我重新构建。
否则,我曾尝试过:
npx react-native run-android
运行 cmd
(无效)node_modules
(无效)npx react-native eject
(eject 不再是命令)答案 25 :(得分:0)
此错误仅表示您在项目的根目录中没有“ android”和“ ios”文件夹。他们的位置很重要。
解决方案:-
打开项目文件夹,搜索“ android”和iso“ folder”,将这些文件夹移动到项目的根文件夹中,然后使用react-native run-android启动项目
答案 26 :(得分:0)
我必须重新设置AndroidManifest.xml的样式,因为我在某处出现语法错误(我在某处有一个额外的“ /”)。现在已修复。语法要非常小心...
答案 27 :(得分:0)
删除本机android build folder
,然后重试命令npx react-native run-android
答案 28 :(得分:0)
我的工作解决方案在下面,以上都不对我有用:
将CD插入项目文件夹,然后键入expo start --android。
或者很长的路要走
它将在虚拟设备上安装expo,您可以从那里进行测试
答案 29 :(得分:0)
删除 signing-config.json ,然后重试 react-native run-android
signing-config.json文件路径:android-> app-> build->中间体-> signing_config->调试-> out-> signing-config.json
答案 30 :(得分:0)
我运行react-native eject
时遇到此错误:
Both the iOS and Android folders already exist! Please delete `ios` and/or `android` before ejecting.
MyProject/android
文件夹。运行react-native eject
会生成android
文件夹
然后运行react-native run-android
来构建android
答案 31 :(得分:0)
您应该考虑使用基于Git的新升级工具。通过自动解决大多数冲突,使升级变得更加容易。 要使用它: -返回旧版本的React Native -运行“ npm install -g react-native-git-upgrade” -运行“ react-native-git-upgrade” 参见https://facebook.github.io/react-native/docs/upgrading.html
答案 32 :(得分:0)
我在一个项目(使用React Native CLI创建)中遇到了相同的错误:
原来我的android清单文件(android / app / src / main / AndroidManifest.xml)中存在语法错误。
答案 33 :(得分:0)
如果您通过以下方式开始了项目
npm install -g create-react-native-app
create-react-native-app MyReactNative
npm install -g react-native-cli
npm start
在此之后,您可以面对上述问题,因此解决方案是:
npm run eject
答案 34 :(得分:0)
在这里,app.json没有名称,但是具有与expo相关的配置。 因此,只需在app.json中添加名称和显示名称字段。
app.json(前两行):
{
"name": "AwesomeProject",
"displayName": "Awesome Project",
"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": [
"**/*"
]
}
}
之后,只需运行:
$ react-native弹出
info正在生成iOS文件夹。
info正在生成Android文件夹。
无需进行本机升级。
答案 35 :(得分:0)
如果使用expo
之类的expo init projectname
命令创建了项目,则随后必须弹出项目:
expo eject
如果您通过react-native init projectName
创建了项目,则必须使用
react-native eject
答案 36 :(得分:0)
可能为时已晚,我从备份文件中替换了Android
文件夹。它对我有用。
答案 37 :(得分:-1)
确保您没有在 AndroidManifest.xml 中注释任何内容。