Obvious_Grapefruit
Obvious_Grapefruit

Reputation: 900

Can't get React Native to work with Android Studio

I have followed these instructions to set up the environment. I'm on Ubuntu 20.04.

I have added the paths to ~/.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

I have checked in Android Studio and ~/Android/Sdk does seem to be correct.

I installed OpenJDK and Android Studio from the Ubuntu Software Center (snap) and created a fresh project with npx react-native init AwesomeProject.

I then run npx react-native start to launch Metro.

I have open a Virtual Device (Pixel XL) running API 29.

I try to start the application with npx react-native run-android, but I get the following output:

(the output is fairly large, so I have only included the initial lines and the final lines to keep it readable)

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.

Some additional info:

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

Upvotes: 1

Views: 990

Answers (1)

Gujar Nitesh
Gujar Nitesh

Reputation: 21

I think might be something issue in android environment setup. You need to setup SDK location using local.properties. Inside android folder you can create file as file below.

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

Upvotes: 1

Related Questions