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

Posted

技术标签:

【中文标题】反应原生:未找到 Android 项目。也许先运行 react-native android ?【英文标题】:React native: Android project not found. Maybe run react-native android first? 【发布时间】:2017-09-29 03:43:14 【问题描述】:

我在我的 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": [
      "**/*"
    ]
  

【问题讨论】:

如果根指令中缺少 android 文件夹,则运行 react-native 弹出。 @Khurshid Ansari 您的解决方案不起作用,因为错误即将到来:“必须在 app.json 配置文件中定义应用程序名称才能定义项目名称”,即使已定义名称也是如此。请查看更新后的问题。 检查您的 AndroidManifest.xml 文件。通常,当 AndroidManifest.xml 文件出现错误时会出现。 【参考方案1】:

我在一个项目(使用 React Native CLI 创建)中遇到了同样的错误:

原来我的 android 清单文件 (android/app/src/main/AndroidManifest.xml) 中有语法错误。

【讨论】:

【参考方案2】:

在 Windows 上,我的问题是由使用 mklink 创建指向另一个代码文件夹的符号链接引起的。

我有: ProjectDir/common -> ../commonCode

Windows 要求您在管理员模式下使用 mklink,所以我做到了。在那之后,我无法再运行 npx react-native run-android 而不会出现此错误,即使在管理 cmd 终端中运行也是如此。

我的解决方案是删除 mklink 创建的符号链接,并在 git bash 终端中使用 ln -s ../commonCode common。这并不理想,因为 Windows 如何处理符号链接,但让我再次构建。

否则,我已经尝试过:

删除所有 ./android/build 和 ./android/app/build(没有帮助) 从cmd 运行npx react-native run-android(无效) 清理并重新安装node_modules(无效) 仔细检查 AndroidManifest.xml 的语法错误(没有) npx react-native eject(eject 不再是命令)

【讨论】:

【参考方案3】:

就我而言,我不小心删除了android/app/src/main 文件夹中的AndroidManifest.xml

【讨论】:

【参考方案4】:

管理员身份打开项目。

react-native run-android

注意:确保您已安装响应式原生 cli。

要在 Windows 上安装响应式原生 cli,请运行。

npm install -g react-native-cli

【讨论】:

【参考方案5】:

此错误可能发生在为您的项目生成.apk 之后,或者在您处于开发阶段时,然后转到react-native 应用程序根目录下的android 文件夹,然后检查以下两个路径以删除@987654323 @文件

1-

android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json

2-

android -> app -> build -> intermediates -> signing_config -> release -> out -> signing-config.json

【讨论】:

【参考方案6】:

对我来说,这是停止一个不允许构建或清洁的 firebase 功能服务的问题。因此,您可以检查项目目录中是否没有正在运行的服务

【讨论】:

【参考方案7】:

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


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

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

【讨论】:

【参考方案8】:

确保您在 AndroidManifest.xml 中没有任何评论。

【讨论】:

以上是关于反应原生:未找到 Android 项目。也许先运行 react-native android ?的主要内容,如果未能解决你的问题,请参考以下文章

“资源 android:attr/fontVariationSettings 未找到。”在本机反应

Android Studio 错误连接 - 反应原生?

未找到反应原生命令 ubuntu 16.04

反应原生无法从蜂窝网络找到位置

在我的反应原生项目中使用 axios 显示对象给出未定义

在 Google Play 的独立版本上反应原生地图崩溃