【问题标题】:Can't get React Native to work with Android Studio无法让 React Native 与 Android Studio 一起使用
【发布时间】:2021-07-31 00:31:06
【问题描述】:

我已关注these instructions 搭建环境。我在 Ubuntu 20.04 上。

我已经添加了~/.bashrc的路径:

export ANDROID_HOME=$HOME/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

我已经检查了 Android Studio,~/Android/Sdk 似乎是正确的。

我从 Ubuntu 软件中心 (snap) 安装了 OpenJDK 和 Android Studio,并使用 npx react-native init AwesomeProject 创建了一个新项目。

然后我运行 npx react-native start 来启动 Metro。

我打开了一个运行 API 29 的虚拟设备 (Pixel XL)。

我尝试使用npx react-native run-android 启动应用程序,但得到以下输出:

(输出相当大,所以我只包含了初始行和最后一行以保持可读性)

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

FAILURE: Build failed with an exception.

* Where:
Settings file '/home/grapefruit/AwesomeProject/android/settings.gradle'

* What went wrong:
Could not compile settings file '/home/grapefruit/AwesomeProject/android/settings.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 60

[...]

    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.base/java.lang.Thread.run(Thread.java:831)
  
  1 error


* 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

BUILD FAILED in 1s

    at makeError (/home/grapefruit/AwesomeProject/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:174:9)
    at /home/grapefruit/AwesomeProject/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:278:16
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async runOnAllDevices (/home/grapefruit/AwesomeProject/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:94:5)
    at async Command.handleAction (/home/grapefruit/AwesomeProject/node_modules/@react-native-community/cli/build/index.js:186:9)
info Run CLI with --verbose flag for more details.

一些附加信息:

grapefruit@ubuntu:~/AwesomeProject$ java --version
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)

grapefruit@ubuntu:~/AwesomeProject$ node -v
v14.17.2

【问题讨论】:

    标签: android react-native android-studio gradle


    【解决方案1】:

    我认为可能是 android 环境设置中的问题。您需要使用 local.properties 设置 SDK 位置。在 android 文件夹中,您可以将文件创建为以下文件。

    sdk.dir=/{DRIVE_PATH}/android-sdk-mac_x86
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多