Gradle构建报错:无法找到java.net.http相关包(Kotlin+Jetpack Compose)
解决Android项目无法导入java.net.http相关类的问题
问题根源
java.net.HttpClient、HttpRequest、HttpResponse这些类是**Android API Level 30(Android 11)**才正式加入Android SDK的,你的项目minSdkVersion设置为27,低于该版本,因此编译时会找不到这些包。
解决方案
方案1:提升最低SDK版本到30(推荐,若可兼容Android 11及以上设备)
修改你提供的模块级build.gradle文件中defaultConfig部分:
defaultConfig { // 其他配置保持不变 minSdk 30 // 将原有的27修改为30 // 其他配置保持不变 }
修改完成后同步Gradle,即可直接导入java.net.http下的类。
方案2:保留minSdk27,改用兼容网络库
若必须支持Android 10及以下设备,建议使用适配全版本的Android网络请求库:
- 继续使用已引入的Retrofit:你已经添加了Retrofit依赖,它封装了底层网络逻辑,支持所有Android版本,API设计更贴合Android开发场景,完全可以替代
java.net.http的功能。 - 引入Apache HttpClient兼容库:在
dependencies块中添加依赖:
implementation 'org.apache.httpcomponents.client5:httpclient5-android:5.2.3'
之后使用Apache提供的HTTP客户端API替代java.net.http相关类。
额外提示
你的项目已经集成了Retrofit,它是Android生态中最常用的网络库之一,建议优先基于Retrofit实现网络请求,避免SDK版本限制带来的兼容性问题。
内容的提问来源于stack exchange,提问作者TranDatK
相关产品推荐
相关产品推荐

