反应原生:未找到 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 ?的主要内容,如果未能解决你的问题,请参考以下文章