![](/img/trans.png)
[英]"Command failed: ./gradlew installDebug" Problem (react-native run-android)
[英]react-native run-android command failed, but gradlew installDebug work
我在 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
命令吗?
我无法理解它是怎么发生的。
跑步
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
为我工作
运行以下命令
chmod 755 android/gradlew
在您的应用程序根文件夹中,然后运行
react-native run-android
尝试删除 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 文件夹中进行了一些更改,请在删除文件夹之前保留其备份
创建您的本机应用程序后,请尝试
sudo chmod -R 777 node-modules <br>
sudo chmod -R 777 android
export ANDROID_HOME=~/Library/Android/sdk
-react-native run-android 有效!
当我从 GitHub 导入项目时,我遇到了同样的问题。
按照以下步骤从 MAC OS 在 Android 设备中运行您的 react-native 项目
安装
移动到项目根文件夹中的 android 文件夹。
光盘安卓
依次运行以下命令以授予 gradlew 文件的权限。
chmod +x ./gradlew
xattr -l ./gradlew
xattr -d com.apple.quarantine ./gradlew
react-native run-android
现在,您可以在连接的 Android 设备/模拟器上看到启动的应用程序。
我遇到了同样的问题,只是在 android studio 中打开了该项目,仅此而已。 解决了!
你必须改变你的build.gradle :
compileSdkVersion 28
buildToolsVersion "28.0.2"
minSdkVersion 16
targetSdkVersion 27
并添加这一行:
implementation "com.android.support:appcompat-v7:28.0.0"
检查您的模拟器是否已连接:
设置 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
在 Ubuntu 中,我使用了这个命令并且它对我有用:
sudo react-native run-android
cd android && sudo ./gradlew clean
这对我有用。 试试看,让我知道它是否对人们有帮助
也许安装守望者?
https://github.com/facebook/react-native/issues/10056
否则,对我来说,我实际上在文件夹中使用了“npm start”。 npm 会知道运行正确的命令来启动 react native,因为它位于 react native 目录中。
始终以root身份运行此命令react-native run-android
。
如果以root身份运行它并遇到错误。 只需删除下载的gradle文件夹并再次运行。
这是你需要做的:
删除home/username/.gradle/
下的文件夹
然后删除root上的那个:
sudo rm -r /root/.gradle/wrapper
然后再次运行: sudo react-native run-android
所以我所做的是从以下位置下载这个 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
所以这里是这个错误的三个解决方案,其中一个最有可能解决您的问题:
1:在你的android文件夹中添加local.properties文件
https://stackoverflow.com/questions/32634352/react-native-android-build-failed-sdk-location-not-found
2:尝试删除 .gradle 文件,然后构建(react-native run-android)
3:可能是在SDK工具下没有安装NDK(并排)和CMake。 相同的步骤是Android Studio,其中包括打开 sdk 管理器的方向
在 Android Studio 中打开 android 文件夹 单击 SDK Manager(位于左上角第三个位置)
打开 SDK 管理器后,您必须转到NDK 和 CMake 的SDK 工具安装映像
在 SDK Tools 下选择 NDK(side by side) 和 CMake,然后按 OK 按钮,让安装完成。 关闭 Android Studio 和 react-native run-android 后。
1 . 你的手机应该有空间
2 . 开发者选项
3 . USB 调试选项也打开
4 . 检查“adb devices”设备是否连接
我必须执行这些步骤才能让它运行。
这个问题来自两个原因
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.
使用 zsh 的示例
vi ~/.zshrc
// paste the java export inside it
export JAVA_HOME=$(/usr/libexec/java_home -v1.8)
保存更改
:x
确保应用您的更改
source ~/.zshrc
现在进行测试
echo $JAVA_HOME
对我来说,这与我的 Mac 内存不足有关。
在 gradle.properties 中放 -XX:MaxPermSize=4096
例如像这样:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m
之后,它再次运行。
对我有用的是,
在模拟器设备上卸载之前安装的应用程序版本,然后运行react-native run-android
。
仔细检查错误消息。 它会为出了什么问题提供线索。 就我而言,在我的 react-native 项目中安装 expo 后,MainApplication.java 损坏了。 我与备份进行了比较(您可以检查早期的工作提交),然后删除错误行。
在此之后,它起作用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.