ChatGPT解决这个技术问题 Extra ChatGPT

反应原生:未找到 Android 项目。也许先运行 react-native android ?

我在我的 React-Native 项目中遇到了一个问题,该项目之前运行良好,但突然停止工作。每当我使用命令时:

react-native run-android

我收到一个错误:

未找到 Android 项目。也许先运行 react-native android ?

我尝试运行:

react-native android

但它说:

无法识别的命令 'android' 运行 react-native --help 以查看所有可用命令的列表

尝试后:

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject

返回的错误是:

扫描 D:\ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules 中的符号链接文件夹 (48ms) 必须在 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": [
      "**/*"
    ]
  }
}
如果根指令中缺少 android 文件夹,则运行 react-native 弹出。
@Khurshid Ansari 您的解决方案不起作用,因为错误即将到来:“必须在 app.json 配置文件中定义应用程序名称才能定义项目名称”,即使定义了名称也是如此。请参阅更新的问题。
检查您的 AndroidManifest.xml 文件。通常,它是在 AndroidManifest.xml 文件中出现错误时出现的。

C
Community

我提出了这个问题并回答了自己,因为我认为这会对面临类似问题的其他人有所帮助。由于终端中显示的错误并不准确,我费了很大劲才找出背后的真正原因。

要解决此问题,请升级 react-native 软件包。

转到项目根目录。通过键入:react-native upgrade 在命令提示符中升级 React 本机包。然后接受通过在命令提示符中键入 y(是)来更新所有文件。

参考:https://github.com/facebook/react-native/issues/9312


节省了一天:)
React 本机包在哪里找到?请明确步骤
@LutaayaHuzaifahIdris 正如答案中提到的,可以在项目根目录上升级 react native 包。因此,打开命令提示符并转到项目根目录。然后升级 react native 包。
它升级了我不想要的 react-native。
我的工作解决方案如下,以上都不适用于我:: 1. 在 Android Studio 中打开 AVD 管理器并运行虚拟设备(之后您可以关闭 AS) 2. CMD 进入您的项目文件夹并输入“expo start” 3.一旦 Expo 开始,选择选项 2,即“Press a for Android emulator”它将在虚拟设备上安装 expo,您可以从那里进行测试
S
Sahil Kalaigar

打开你的 React Native 项目根目录并找到 android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json 。删除signing-config.json这个文件再试一次

或者

1)有时如果我们有旧版本的 react native 并且一些新安装的包不支持旧版本。然后你必须使用 react-native upgrade 命令更新 react native 项目。

完成将当前项目更新到新版本后,此错误应该得到解决。


这对我有用,谢谢。
如果 android\app\build\intermediates\signing_config\release\out\signing-config.json 也删除
J
José Abimael Martínez

我知道这是一个老问题,但这些解决方案中的任何一个都对我不起作用,也许还有其他人像我一样。我在 run-android 之前解决了运行此命令的问题

react-native eject

出于某种原因,这也对我有用,我尝试了使用“react-native-git-upgrade”的更新版本的 react native 升级,正如你运行“react-native upgrade”时所建议的那样,它对我不起作用。
此命令在您的项目中重新创建 android 和 ios 文件夹
我认为这是正确的答案。不仅因为它对我有用,而且因为根据我对文档的理解,这是这样做的预期方式,因此没有其他副作用。
react-native 中的 eject 命令 has been removed
A
Abhinav Saxena

确保使用命令(非 expo)启动项目:

react-native init <your-project-name>

如果存在文件夹,请执行以下操作:

react-native eject

在最新版本的 react-native 中,当您尝试发出命令时会出现此建议:

react-native eject

扫描 D:\ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules 中的符号链接文件夹 (48ms) 必须在 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 commands 建议中,有一个明确的解决方案。

这些命令检查当前版本以及是否需要更新。

另一种解决方案:

react-native: Command run-android unrecognized. Maybe caused by npm install

另请参阅:

Solution to "Expo : cannot find a module LogReporter"


我接受的答案,+10 代表。给@Abhinav
k
karthik mano

以管理员身份打开命令提示符并转到项目文件夹,运行 android(npx react-native run-android)


m
m9m9m

我确实喜欢这个......工作!

在 CMD 项目根目录中运行 react-native upgrade。如果您仍然遇到问题,请确保您在 package.json 中的依赖项 json 中有 react-native,如果仍然遇到问题,请添加它,使用 react-native -v 在 cmd 中获取 react native 的版本并检查是否cmd 和 package.json 中返回的值是一样的。使用 cmd 中返回的值更新 package.json

到这里我的问题解决了。


s
sem10

在 Windows 中以管理员身份运行终端对我来说是诀窍......其他解决方案不起作用。


这只是感谢 karthik mano 的现有答案,不是吗?如果不是,请更清楚地说明这个答案提供了哪些额外的见解。
B
Bobo Chen

我不得不重新设置我的 AndroidManifest.xml 的样式,因为我在某处有语法错误(我在某处有一个额外的“/”)。现在它已经修复了。非常小心你的语法......


这是一个怎样的答案?
N
NewPHPer

删除文件:React Native 项目根目录并找到 android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json 。


或者只是删除应用程序内的整个构建文件夹。
G
Guilherme Andrade

打开你的 React Native 项目根目录并找到 android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json

删除文件并重试。


I
Ilya Zatolokin

我们遇到了这个问题,因为来自 android 文件夹 gradlew 和 gradlew.bat(分别用于 UN*X、Windows 的 Gradle 启动脚本)中的文件以某种方式进入了全局 .gitignore 文件,因此没有出现在本地环境中。

实际运行 react-native upgrade 命令恢复这些文件,从而解决问题。


F
Filipe

作为补充,在没有找到 react-native 命令的情况下,您应该安装 react-native CLI:

npm install -g react-native-cli

然后你可以按照上面人说的步骤。

更多详情:react-native: command not found


B
Ben Hur Martins

我今天遇到了这个问题,没有一个解决方案对我有用,所以我找到了另一个。

Badly Formatted AndroidManifest.xml 会导致这个问题,可能你今天和我一样设置了闪屏,没有正确格式化AndroidManifest


أ
أحمد رحماني

删除signing-config.json 下次再试react-native run-android

签名配置.json 文件路径:android -> 应用程序 -> 构建 -> 中间体 -> 签名配置 -> 调试 -> 输出 -> 签名配置.json


A
Abhi

如果您通过以下方式开始您的项目

npm install -g create-react-native-app
create-react-native-app MyReactNative
npm install -g react-native-cli
npm start

在此之后,您可能会遇到上述问题所以解决方案是:

npm run eject

M
Michimcchicken

我正在使用 Android Studio(非博览会),这对我有用

react-native init <your-project-name>

A
Ajeet Singh

我认为您可以检查的一件更简单的事情是,如果您之前以不同的用户角色运行项目,例如在 Windows 中,如果您之前以管理员角色运行 react-native run-android。


我遇到了与上述问题类似的问题,并以管理员权限启动终端(在 Windows 上),此错误消失了。
C
Community

对我来说,“rm -rf android/app/build/”有效

使用“--verbose”运行您的命令。我收到无法读取文件的错误(在 android/app/build/generated/not_namespaced_r_class_sources/ 中)。我删除了这个文件夹,它工作


h
hp2017

在这里,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": [
      "**/*"
    ]
  }
}

在此之后,只需运行:

$ 反应原生弹出

info 生成 iOS 文件夹。

info 生成 Android 文件夹。

无需进行本机升级。


实际上,“expoject”也效果更好。它为我提供了选项并更新了 app.json 并创建了 android/ios 目录。
h
hino

您必须以管理员权限运行您的 cmd。这为我解决了同样的问题。没有做“弹出”或其他任何事情。


对于同一个问题,有很多类似的答案可用。如果它对您有帮助,您可以只对现有答案进行投票,而不是添加您的答案。
P
Praneeth Pj

就我而言,我忘记添加 Sudo。固定如下,

sudo npx react-native run-android

T
Thirasha

删除 react native android build folder 然后重试命令 npx react-native run-android


Y
Yan Jardim

就我而言,我的项目文件夹没有正确的权限。

如果是这种情况,只需单击文件夹上的右键 > 属性 > 安全 > 高级,然后将文件夹的所有权更改为您的用户,包括子文件夹。应该这样做


F
Faisal Mushtaq

此错误仅表示您的项目根目录中没有“android”和“ios”文件夹。他们的位置很重要。

解决方案:-

打开您的项目文件夹搜索“android”和iso“文件夹”,将这些文件夹移动到项目的根文件夹中,然后使用 react-native run-android 启动项目

https://i.stack.imgur.com/fg8Cw.png


M
Melvin Chipimo

所以如果有人在这里遇到这个问题对我有用,

{
   "name": "ZedMusic",
   "displayName": "zedmusic",
   "expo": {}
}

项目名称必须在 expo 之外,然后运行 npx react-nativeject


P
Paul Gwamanda

我的工作解决方案如下,以上都不适合我:

将 CD 放入您的项目文件夹并键入 expo start --android。

或者很长的路:

在 Android Studio 中打开 AVD 管理器并运行虚拟设备(您可以在之后关闭 AS)CMD 进入您的项目文件夹并输入“expo start” 一旦 Expo 开始,选择选项 2,即“Press a for Android emulator”

它将在虚拟设备上安装 expo,您可以从那里进行测试


a
a_rahmanshah

当我运行 react-native eject 时,我得到了这个错误:

Both the iOS and Android folders already exist! Please delete `ios` and/or `android` before ejecting.

删除 MyProject/android 文件夹。

运行 react-native 弹出 这生成了 android 文件夹

然后运行 react-native run-android 构建android


s
stainlessbaby

您应该考虑使用基于 Git 的新升级工具。它通过自动解决大多数冲突使升级更容易。要使用它: - 回到旧版本的 React Native - 运行“npm install -g react-native-git-upgrade” - 运行“react-native-git-upgrade” 请参阅 https://facebook.github.io/react-native/docs/upgrading.html


M
Martijn Pieters

如果您使用 expo 命令创建了项目,例如 expo init projectname,那么之后您必须弹出项目:

expo eject

如果您通过 react-native init projectName 创建了您的项目,那么您必须使用

react-native eject

从 react-native github.com/react-native-community/cli/pull/275 中删除了弹出命令
D
Dinesh Kumar

可能为时已晚,我从备份文件中替换了 Android 文件夹。它对我有用。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅