react-native run-android 命令失败,但 gradlew installDebug 工作

Posted

技术标签:

【中文标题】react-native run-android 命令失败,但 gradlew installDebug 工作【英文标题】:react-native run-android command failed, but gradlew installDebug work 【发布时间】:2017-09-25 20:05:07 【问题描述】:

我在 OSX 上使用 react-native 0.43.3。 我尝试在 android 上运行应用并获取消息

react-native run-android

Scanning 568 folders for symlinks in /Users/ruci.k/project/mayacrew/supermembers/supermembers/node_modules (5ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

./gradlew installDebug 给了我一些错误并修复了它。 最后构建成功,应用程序在 Android 设备上运行。

但是react-native run-android 命令仍然不起作用。 只有./gradlew installDebug 命令有效。

我可以检查什么以使用react-native run-android 命令吗?

我不明白这是怎么发生的。

【问题讨论】:

【参考方案1】:

跑步

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"

为我工作

【讨论】:

它也适用于我!感谢您的帮助! Giving ERROR ERROR:JAVA_HOME 设置为无效目录:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home 终于!谢谢 经过数小时研究的惊人解决方案。但是你能解释一下它的作用吗?我从字面上复制粘贴不知道它做了什么哈哈 由于某种原因,JAVA_HOME 路径被设置为不正确的值。该解决方案只是将其设置为正确的。仅供参考,每个人的路径可能都不一样!!写是个好主意,例如 export JAVA_HOME="/Applications/Android 然后按几次 tab 键,选择正确的路径,直到到达 ...Contents/Home 。将其包含在 .zshrc 文件(或您正在使用的任何文件)中也是一个好主意【参考方案2】:

运行以下命令

chmod 755 android/gradlew

在您的应用根文件夹中 然后运行

react-native run-android

【讨论】:

如果我使用的是 Windows? 您能具体说明导致错误的原因以及此命令的帮助吗? 这为我修复了它。因为这里的错误表明这是一个访问问题。 chmod 所做的只是更改该文件夹的访问权限@P.Gupta【参考方案3】:

尝试删除 android、ios 文件夹,然后执行 react-native upgrade 然后再试一次 react-native run-android 之后,如果您收到类似的错误

未找到 SDK 位置。使用 local.properties 文件中的 sdk.dir 或使用 ANDROID_HOME 环境变量定义位置。

然后在文件夹中创建一个名为 local.properties 的文件

安卓

并插入以下行 sdk.dir =/path/to/Android/Sdk 在此之后一切都应该没问题

注意:如果您对 android/ios 文件夹进行了一些更改,请在删除文件夹之前保留其备份

【讨论】:

删除文件夹并运行上述命令只会引发一个错误,即现在缺少 android 文件夹。这个***.com/a/61913747/1103592 为我解决了这个问题【参考方案4】:

创建你的 react native 应用后,尝试

sudo chmod -R 777 node-modules  <br>
sudo chmod -R 777 android 
export ANDROID_HOME=~/Library/Android/sdk

-react-native run-android 工作!

【讨论】:

我不必运行最后一个命令。谢谢。 使用sudo chmod -R 777 是有风险的,而且大多数时候不需要。我鼓励您和其他人在使用它时要非常小心。把它当作一个建议。【参考方案5】:
cd android && sudo ./gradlew clean

这对我有用。试试看,如果它对人们有帮助,请告诉我

【讨论】:

【参考方案6】:

当我从 GitHub 导入项目时,我遇到了同样的问题。 按照以下步骤在 Android 设备中从 MAC OS 运行您的 react-native 项目

    从根项目中删除“node_modules”文件夹。 在项目根文件夹中运行以下命令。

npm 安装

    移动到项目根文件夹中的android文件夹。

    cd 安卓

    依次运行以下命令,赋予gradlew文件权限。

chmod +x ./gradlew

xattr -l ./gradlew

xattr -d com.apple.quarantine ./gradlew

    现在,回到项目根文件夹,在安卓设备上运行项目。

react-native run-android

现在您可以在连接的 Android 设备/模拟器上看到已启动的应用程序。

【讨论】:

如果我使用的是 Windows?【参考方案7】:

我遇到了同样的问题,刚刚在 android studio 中打开了项目,仅此而已。解决了!

【讨论】:

这行得通!但是这个解决方案更好***.com/a/66567300/4820421【参考方案8】:

您必须更改您的 build.gradle

compileSdkVersion 28  
buildToolsVersion "28.0.2"  
minSdkVersion 16  
targetSdkVersion 27  

并添加这一行:

implementation "com.android.support:appcompat-v7:28.0.0"

【讨论】:

在哪里添加implementation "com.android.support:appcompat-v7:28.0.0" Saularis,我知道为时已晚,但可能会对某人有所帮助,请将这一行 implementation "com.android.support:appcompat-v7:28.0.0" 放入 android/app/build.gradle【参考方案9】:

检查您的模拟器是否已连接:

    设置 ANDROID_HOME 路径:E:\android-sdk-windows

    设置路径D:C:\Program Files\nodejs;C:\Program Files\Java\jdk1.8.0_111\bin;E:\android-sdk-windows\platform-tools

【讨论】:

【参考方案10】:

在 Ubuntu 中,我使用过这个命令,它对我有用:

    sudo react-native run-android

【讨论】:

【参考方案11】:
    在终端进入文件夹 android gradlew 清洁 运行 react-native run-android

【讨论】:

【参考方案12】:

也许安装守望者?

https://github.com/facebook/react-native/issues/10056

否则,对我来说,我实际上在文件夹中使用了“npm start”。 npm 会知道运行正确的命令来启动 react native,因为它位于 react native 目录中。

【讨论】:

作为您的答案,我尝试使用“npm start”,结果与“react-native start”相同。启动 JS 服务器运行良好,只是 'react-native run-android' 不起作用。【参考方案13】:

所以我所做的是从以下位置下载这个 jar 文件:1:https://drive.google.com/file/d/1MHSJx-_0RHRzlrXBLAePKeWKQteke0Um/view?usp=sharing 并将其放在 android/gradle/wrapper 中,然后我回到项目目录并执行 npm install 然后将目录更改为 android :cd android 然后我运行了以下命令

chmod +x ./gradlew

xattr -l ./gradlew

现在我回到项目目录并运行react-native run-android

【讨论】:

【参考方案14】:
    转到 C:\Users\ [用户名] 重命名或删除“.gradle” 然后运行“react-native run-android”

【讨论】:

【参考方案15】:

所以这里是这个错误的三个解决方案,其中一个很可能会解决你的问题:

1:在你的android文件夹中添加local.properties文件

https://***.com/questions/32634352/react-native-android-build-failed-sdk-location-not-found

2:尝试删除.gradle文件,然后构建(react-native run-android)

3:可能在 SDK 工具下 NDK(side by side) 和 CMake 没有安装。 相同的步骤是 Android Studio which include direction for opening sdk manager

在 Android Studio 中打开 android 文件夹 点击SDK Manager(左上角第三个位置)

打开SDK管理器后,你必须去SDK工具Installation image for NDK and CMake

在 SDK Tools 下选择 NDK(side by side) 和 CMake 并按下 OK 按钮并让安装完成。 之后关闭Android Studio并react-native run-android。

【讨论】:

【参考方案16】:

1 .你的手机应该有空间 2.开发者选项开启 3. USB 调试选项也打开 4.检查“adb devices”设备是否连接

【讨论】:

【参考方案17】:

我必须执行这些步骤才能使其运行。

首先安装dos2unix 在 android 文件夹中运行 dos2unix ./gradlew 然后运行 ​​./gradlew clean 最后运行 react-native run-android。

【讨论】:

【参考方案18】:

这个问题有两个原因

1- 权限问题

如何解决

sudo react-native run-android

或者

chmod 755 android/gradlew

2- Java 版本与 Gradle 不匹配

确保您使用 Java 8 作为 $JAVA_HOME 环境变量

取决于您在哪个终端上运行代码

For zsh shell, export $JAVA_HOME at ~/.zshenv or ~/.zshrc.
For bash shell, export $JAVA_HOME at ~/.bash_profile or ~/.bashrc.

通过这个命令安装JDK

/usr/libexec/java_home -V

zsh 使用示例

vi  ~/.zshrc
// paste the java export inside it 
export JAVA_HOME="JDK_8_Path_from_previous command"

保存更改

:x

确保应用您的更改

source ~/.zshrc

现在进行测试

echo $JAVA_HOME

【讨论】:

【参考方案19】:

对我来说,这与我的 Mac 内存不足有关。

在 gradle.properties 中放 -XX:MaxPermSize=4096

例如这样:

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m

之后,它再次运行。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于react-native run-android 命令失败,但 gradlew installDebug 工作的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-native run-android 运行时出现 React-Native 错误

react-native run-android 失败

运行 react-native run-android 时出错

react-native run-android 失败 MacOS

react-native run-android 不起作用:/

运行 react-native run-android 时出错