Error: Could not initialize class com.android.sdklib.repository.AndroidSdkHandler

AndroidReact NativeReact Native-Android

Android Problem Overview


I've setup the environment for react native on Windows. But when I run the command

react-native run-android

I get the following errors -

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > Could not initialize class com.android.sdklib.repository.AndroidSdkHandler

How do I fix this?

Android Solutions


Solution 1 - Android

This is because your classpath build tools in build.gradle root project is deprecated. Update it like this

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0'
    }
}

and after that update your minimum sdk and build tools to latest and no problem again

Solution 2 - Android

I encountered this error while running the following command in macOS

./gradlew assembleRelease --stacktrace

and got the exact error posted. I solved the problem by setting $JAVA_HOME environment variable to your JDK installation. In my case I used the bundled JDK in Android Studio for macOS:

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"

for Windows, just add JAVA_HOME to your user or system variables pointing to

"C://Program Files/Java/jdk_1.x_"

folder and try running react-native run-android again.

Solution 3 - Android

This will resolve issue to follow below steps:

1) Change Project level Gradle version build.gradle

Earlier version name like

classpath 'com.android.tools.build:gradle:2.3.2'

Change with new version or latest version you have

classpath 'com.android.tools.build:gradle:4.2.1'

2) Change gradle-wrapper.properties from \gradle\wrapper

Earlier version name like

distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip

Change with new version or latest version you have

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

Solution 4 - Android

This is a problem with JDK version 9. Android tools does not support building with Java 9 officially yet. And it has such problems.

Downgrading to Java version 8 will fix the problem.

Solution 5 - Android

On Ubuntu 18.04, this fixed the problem.

  1. Run this command

    sudo apt-get install openjdk-8-jdk

  2. Add this to ~/.bashrc

    export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

  3. Restart your terminal or IDE.

Solution 6 - Android

Fixed the error by adding the following in .bash_profile

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export ANDROID_HOME=/Users/saif-ams/MyFiles/applications/androidsdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Solution 7 - Android

The possible reason is the Gradle 's version and JDK's version is not matched.

At begin, My computer's gradle version is 4.10.1 and JDK is 12.

My solution is:

Download JDK 1.8 from oracle's website, set JAVA_HOME with JDK8 and It done

Solution 8 - Android

Replace jcenter() with google()

and

mavenCentral()

in project level gradle file

Solution 9 - Android

According to the log, add the google() repository to the build.gradle file in the app directory as shown below:

allprojects {
    repositories {
        mavenCentral()
        google()
        jcenter()
    }
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPaul SantoshView Question on Stackoverflow
Solution 1 - AndroidHasan JamshaidView Answer on Stackoverflow
Solution 2 - AndroidJeremy Patrick PacabisView Answer on Stackoverflow
Solution 3 - AndroidPratik DodiyaView Answer on Stackoverflow
Solution 4 - AndroidtasomaniacView Answer on Stackoverflow
Solution 5 - AndroidtakasoftView Answer on Stackoverflow
Solution 6 - AndroidSaif KamaalView Answer on Stackoverflow
Solution 7 - AndroidjerryView Answer on Stackoverflow
Solution 8 - AndroidIbrahimView Answer on Stackoverflow
Solution 9 - AndroidShomuView Answer on Stackoverflow