【问题标题】:React-Native run-android command cannot find Android Studio and SDKReact-Native run-android 命令找不到 Android Studio 和 SDK
【发布时间】:2021-11-14 12:49:01
【问题描述】:

我正在 Mac OS 上构建一个 React-Native 项目。我的 Mac 是使用新的 Apple M1 芯片的 Mac Mini。我可以使用“react-native run-android”命令在 iOS 模拟器上构建和运行我的项目。但是当我运行“react-native run-android”命令时,它不起作用。

我下载并安装了 Java JDK。当我在终端中输入“java -version”时,我可以看到以下输出。

openjdk version "17" 2021-09-14 LTS
OpenJDK Runtime Environment Zulu17.28+13-CA (build 17+35-LTS)
OpenJDK 64-Bit Server VM Zulu17.28+13-CA (build 17+35-LTS, mixed mode, sharing)

然后我下载并安装了最新版本的 Android Studio。已安装,Android SDK 位于以下路径。

/Users/waihein/Library/Android/sdk

我在 ~/.hash_profile 文件中有以下内容。

export PATH="/usr/local/bin:$PATH"
export ANDROID_HOME=/Users/waihein/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools 
export PATH=$PATH:$ANDROID_HOME/tools/bin 
export PATH=$PATH:/Users/waihein/Library/Android/sdk/platform-tools/

在我的 react-native 项目文件夹中,当我运行“react-native run-android”时,我得到了以下输出。

* What went wrong:
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/6.8/userguide/gradle_daemon.html
Process command line: /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/java -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant -cp /Users/waihein/.gradle/wrapper/dists/gradle-6.8-all/9emh0d32e025cam7aasxcw002/gradle-6.8/lib/gradle-launcher-6.8.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 6.8
Please read the following process output to find out more:
-----------------------
Unrecognized VM option 'MaxPermSize=512m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

我也尝试使用“sudo react-native run-android”,我得到了同样的错误。

当我运行“react-native doctor”命令时,我得到以下输出。

但我正确安装了 Android Studio。我的配置或安装有什么问题,我该如何解决?

【问题讨论】:

  • 错误似乎是Unrecognized VM option 'MaxPermSize=512m'。根据这里的问题:stackoverflow.com/questions/22634644/… 对此标志的支持已被删除。您可以尝试按照/app/android/gradle.properties 中的答案中所述替换参数吗?
  • 但是如何在 Mac 上删除它?
  • 您好,我仍然找不到在 Mac 上设置它的选项。你能帮忙吗?
  • 你需要打开我指定的文件(app/android/gradle.properties)。里面有一行org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 。从行中删除 -XX:MaxPermSize=512m 部分,或查看我在之前评论中链接的问题以查看替换它的内容。
  • 谢谢。但是这次我收到了这个错误。评估设置“sharkyamalapp”时出现问题。 > 无法为脚本“/Users/waihein/Desktop/Code/shar-kya-mal-app/node_modules/@react-native-community/cli-platform-android/native_modules.gradle”打开 dsl 通用类缓存(/Users /waihein/.gradle/caches/6.8/scripts/a43tr593rdpk11ispliu0nu14)。 > 错误!源单元“BuildScript”中的“语义分析”阶段异常 不支持的类文件主要版本 61

标签: android react-native


【解决方案1】:

虽然 React Native 文档没有指定可与 RN 一起使用的 JDK 版本范围,但我个人除了 OpenJDK8 之外什么都无法使用。尝试安装它并将 JAVA_HOME 环境变量设置为其路径。

我认为它的包最近在 Homebrew 中重命名了 - 你现在可以运行“brew install temurin8”。

【讨论】:

    【解决方案2】:

    Android Studio 的第一个设置环境路径

    export ANDROID_HOME=$HOME/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/emulator
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/tools/bin
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    

    有关设置的更多信息,请访问以下链接

    Click hear

    【讨论】:

    • 我已经配置了这些变量,正如您在问题中看到的那样。
    猜你喜欢
    • 2021-10-14
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多