You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android开发中使用JDK 11内置的java.net.http HTTP相关包

java.net.http.HttpClient 是JDK 11才正式纳入标准库的API,而Android原生SDK默认基于JDK 8的API规范,因此默认无法直接找到该类。

以下是完全符合你需求的可用方案,无需适配OkHttpClient或Apache HttpClient的API:

  • 方案1:使用JDK HttpClient的反向移植包
    该包将OpenJDK官方的HttpClient完整移植到JDK 8及以上运行环境,安卓下可直接引入使用,所有API签名和官方实现完全一致,你原有基于java.net.http的代码不需要做任何修改。
    在模块级build.gradle中添加依赖即可:

    dependencies {
        implementation 'com.github.sormuras:jdk-httpclient:0.0.10'
    }
    

    引入后即可正常使用你熟悉的导入语句:

    import java.net.http.HttpClient;
    import java.net.http.HttpRequest;
    import java.net.http.HttpResponse;
    
  • 方案2:启用安卓核心库脱糖(Core Library Desugaring)
    如果你的应用最低支持版本为API 33(Android 13)及以上,可以通过开启核心库脱糖的扩展支持,直接使用原生java.net.httpAPI,无需引入额外第三方依赖。
    配置方式如下:

    1. 在模块级build.gradle中开启脱糖支持:
    android {
        compileOptions {
            coreLibraryDesugaringEnabled true
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }
    
    1. 添加脱糖依赖:
    dependencies {
        coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
    }
    

内容的提问来源于stack exchange,提问作者Nandhan Thiravia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:09:03