错误: 无法初始化 com.android.sdklib.store.AndroidSdkHandler 类

我已经在 Windows 上设置了本机响应环境,但是当我运行这个命令时

react-native run-android

我得到以下错误-

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

我该怎么补救?

164984 次浏览

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.

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.

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

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

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.

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

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

Replace jcenter() with google()

and

mavenCentral()

in project level gradle file

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()
}
}

You can resolve the issue by adding the google() repository to the build.gradle file and upgrade the gradle build tools version to 6 or higher.

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