首页 > 解决方案 > Gradle - 无法初始化类 org.apache.http.conn.ssl.SSLConnectionSocketFactory

问题描述

我尝试使用 Android Studio 构建我的“Hello World”应用程序,但由于 gradle 的一些问题而无法做到。这就是我所拥有的:

$java -version
java version “1.8.0_151”
Java™ SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot™ 64-Bit Server VM (build 25.151-b12, mixed mode)

$ gradle -v

Gradle 6.5.1

Build time: 2020-06-30 06:32:47 UTC
Revision: 66bc713f7169626a7f0134bf452abde51550ea0a

Kotlin: 1.3.72
Groovy: 2.5.11
Ant: Apache Ant™ version 1.10.7 compiled on September 1 2019
JVM: 1.8.0_151 (Oracle Corporation 25.151-b12)
OS: Linux 4.9.0-6-amd64 amd64

这是 Android Studio 生成的 gradle 文件

$ cat build.gradle
buildscript {
  repositories {
    google()
    jcenter()
  }
  dependencies {
   classpath “com.android.tools.build:gradle:4.0.1”
  }
}

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

task clean(type: Delete) {
   delete rootProject.buildDir
}

这是结果:

$ gradle --stacktrace
FAILURE: Build failed with an exception.

    What went wrong:
    Could not initialize class org.apache.http.conn.ssl.SSLConnectionSocketFactory

    Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    Exception is:
    java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.conn.ssl.SSLConnectionSocketFactory
    at org.gradle.internal.resource.transport.http.HttpClientConfigurer.configureSslSocketConnectionFactory(HttpClientConfigurer.java:122)
    at org.gradle.internal.resource.transport.http.HttpClientConfigurer.configure(HttpClientConfigurer.java:107)
    at org.gradle.internal.resource.transport.http.HttpClientHelper.getClient(HttpClientHelper.java:195)
    at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:141)

谁能帮我解决这个问题?这些是我使用 gradle 的第一步,我不知道该怎么做。如果问题出在依赖上,那么为什么这个依赖不包含在 gradle.xml 中。请帮忙。

标签: androidgradle

解决方案


我通过使用 OpenJDK 而不是 Oracle JDK 解决了这个问题。


推荐阅读