错误:无法初始化类 com.android.sdklib.repositoryv2.AndroidSdkHandler
Posted
技术标签:
【中文标题】错误:无法初始化类 com.android.sdklib.repositoryv2.AndroidSdkHandler【英文标题】:Error:Could not initialize class com.android.sdklib.repositoryv2.AndroidSdkHandler 【发布时间】:2016-09-27 13:47:08 【问题描述】:我想在启动时使用 android Studio 构建这个 project,但出现错误。 Stacktrace 是here
【问题讨论】:
请修正您的语法,显示您的项目设置等 @Eldelshell,您想查看哪些具体配置? 请不要链接到外部资源,直接在问题中包含所有相关信息。 【参考方案1】:当您的系统中安装了多个 JDK 时会出现此问题,我遇到的问题与我错误地安装了 oracle-jdk-9 并且 Android studio 需要 oracle-jdk-8 一样
如果您使用的是 Ubuntu,您可以从 this question 安装 jdk-8。
所以,进行如下更改:
按 ctrl+shift+alt+s 将打开项目结构,也可以从
文件 -> 项目结构
然后更改您可能已安装 JDK 8 的 JDK 位置
【讨论】:
【参考方案2】:这是因为您在 build.gradle 根项目中的类路径构建工具已被弃用,对于新的 android studio 3.2.0 进行这样的更新
buildscript
dependencies
classpath 'com.android.tools.build:gradle:3.2.0-alpha14'
然后更新你的最小 sdk 和构建工具到最新并且没有问题了
【讨论】:
【参考方案3】:我遇到了同样的问题。我已经安装了 Java 8 和 Java 9。
我将 JAVA_HOME
设置为 Java 8,但 Gradle 使用的是 Java 9。
我将 File->Project Structure 中的 JDK 更改为 Java 8 并且它工作正常。
【讨论】:
【参考方案4】:JAVA 9 已将 JAVA_HOME 强行接管给自己。
安装java9后你会发现
# java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
所以我们不要卸载 java 9,而是将 JAVA_HOME 指向 java 8
首先找出嵌入 JRE 的 Android Studio 位置
最后在 ~./bash_profile 中添加一个条目
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
# source ~/.bash_profile
# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
来源 http://scalebean.blogspot.com/2018/01/fix-gradle-could-not-initialize-class.html
【讨论】:
【参考方案5】:将 Android Studio 中的 JDK 更改为指向 8 对我来说不起作用。我卸载了 Java 9,这解决了这个问题。
【讨论】:
【参考方案6】:一个简单的解决方案:
React-Native 与 Java 9 或 Java 10 不兼容
只需降级到 Java 8 即可解决此问题
【讨论】:
一直在尝试所有其他解决方案,试图在 Java 10 上构建 react ...您的简单解决方案为我节省了更多的工作时间,谢谢! 好的,但是怎么做呢?不完整的答案根本没有帮助【参考方案7】:如果你在 Ubuntu 中有多个 Java,你可以
sudo update-alternatives --config java
sudo update-alternatives --config javac
选择 Android 和 Gradle 需要的 Java 8。
【讨论】:
【参考方案8】:如果有人对 IntelliJ IDEA 有疑问,请转到 File
-> Project Structure
(或按 Ctrl + Alt + Shift + S) 并删除所有 JDK 9 条目。 JDK 在Platform Settings
-> SDKs
下标记,在一小杯蓝色咖啡后面有一个文件夹。
我尝试将正确的路径添加到 JDK 1.8,但无论出于何种原因,IntelliJ IDEA 都会默认返回到 JDK 9。不幸的是,我需要 JDK 9 用于其他项目,所以卸载它太麻烦了。如果您需要将 JDK 9 用于另一个项目(就像我一样),您仍然可以通过相同的菜单添加 JDK 9 条目,然后在需要时再次将其删除。
【讨论】:
【参考方案9】:转到 build.gradle, 并确保您的 gradle 依赖项 是最新的。 对于 Android Studio 4.2.2 依赖项 类路径“com.android.tools.build:gradle:4.2.2” ......... .........
【讨论】:
【参考方案10】:如果问题仍然存在,只需将 gradle 导入 Android Studio 并在 Android Studio 中构建文件。
Android Studio 会自动处理 gradle 和 sdk 问题。
成功构建后,您还可以尝试通过react-native run-android
运行应用程序
命令提示符。希望这可以帮助。
这是解决此问题的唯一修复程序。
我尝试了以上所有答案,但问题仍然存在
【讨论】:
OP 似乎已经在 Android Studio 中构建项目了。以上是关于错误:无法初始化类 com.android.sdklib.repositoryv2.AndroidSdkHandler的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 错误:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper
Weblogic 错误 - 无法初始化类 weblogic.jndi.Environment
错误:无法初始化类 ru.yandex.clickhouse.ClickHouseUtil
错误:无法初始化类 com.android.sdklib.repositoryv2.AndroidSdkHandler