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 失败 MacOS