我在OSX上使用react-native 0.43.3。 我尝试在安卓上运行应用程序并收到消息
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
创建 react 原生应用后,尝试
sudo chmod -R 777 node-modules
sudo chmod -R 777 android
export ANDROID_HOME=~/Library/Android/sdk
现在运行
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文件夹中进行了一些更改,请在删除文件夹之前保留其备份
cd android && sudo ./gradlew clean
这对我有用。尝试一下,让我知道它是否有帮助
当我从 GitHub 导入项目时,我遇到了同样的问题。
请按照以下步骤从 MAC 操作系统在 Android 设备中运行您的 react-native 项目
- 从根项目中删除"node_modules"文件夹。
- 在项目根文件夹中运行以下命令。
npm 安装
-
移动到项目根文件夹中的 android 文件夹。
光盘
安卓 -
依次运行以下命令以授予对 gradlew 文件的权限。
chmod +x ./gradlew
Xattr -l ./gradlew
xattr -d com.apple.quarantine ./gradlew
- 现在,回到项目根文件夹并在Android设备中运行项目。
React-native run-android
现在,您可以在连接的Android设备/模拟器上看到启动的应用程序。
在 Ubuntu 中,我使用了这个命令,它对我有用:
sudo react-native run-android
我遇到了同样的问题,刚刚在 android Studio 中打开了该项目,仅此而已。解决!
这个问题有两个原因
1-权限问题
如何修复它
sudo react-native run-android
或
chmod 755 android/gradlew
2-与Gradle不匹配的java版本
确保使用 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
你必须改变你的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 Filesnodejs;C:Program FilesJavajdk1.8.0_111bin;E:android-sdk-windowsplatform-tools
- 转到终端中的文件夹 android
- 格拉德卢清洁 运行反应
- 原生运行安卓
也许安装守望者?
https://github.com/facebook/react-native/issues/10056
否则,对我来说,我实际上在文件夹中使用"npm start"。 npm 会知道运行正确的命令来启动 React Native,因为它位于 React native 目录中。
所以我所做的是从以下位置下载这个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
- 转到 C:\Users\ [用户名]
- 重命名或删除".gradle">
- 然后运行"反应原生运行安卓">
所以这是这个错误的三个解决方案,从中最有可能解决你的问题:
1:在您的安卓文件夹中添加本地属性文件
https://stackoverflow.com/questions/32634352/react-native-android-build-failed-sdk-location-not-found
2:尝试删除.gradle文件,然后构建(反应原生运行-安卓)
3:可能是在SDK工具下没有安装NDK(并行)和CMake。 相同的步骤是 Android Studio,其中包括打开SDK管理器的说明
在安卓工作室中打开安卓文件夹 点击SDK管理器(位于左上角第三个位置)
打开 SDK 管理器后,您必须转到 NDK 和 CMake 的 SDK 工具安装映像
在"SDK 工具"下,选择 NDK(并排)和 CMake,然后按"确定"按钮,让安装完成。 关闭后,Android Studio 和 react-native run-android。
1 .您的手机中应该有空间
2 . 开发人员选项打开
3 .USB调试选项也打开
4 。检查"adb 设备"设备是否已连接
我必须执行这些步骤才能让它运行。
- 首次安装 dos2unix
- 在安卓文件夹中运行dos2unix ./gradlew
- 然后运行 ./gradlew clean
- 最后运行反应原生运行安卓。
对我来说,这与 Mac 的 RAM 不足有关。
in gradle.properties put -XX:MaxPermSize=4096
例如像这样:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m
之后,它再次运行。
对我有用的是,
在模拟器设备上卸载以前安装的应用版本,并在之后运行react-native run-android
。
仔细检查错误消息。它将提供出了什么问题的线索。就我而言,在我的反应原生项目中安装 expo 后,主应用程序.java损坏了。我与备份进行了比较(您可以检查早期的工作提交),然后删除了错误行。
在此之后,它奏效了。
至于我在苹果 m1 上工作,我不得不将路径更改为以下内容:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home">
只是路径的更改,以防万一它不起作用
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home">