Failed resolution of: Lorg/apache/hc/core5/http/message/BasicNameValuePair;

这是我引用的库文件

implementation ("com.esri.arcgisruntime:arcgis-android:100.15.3")

使用ArcGIS绘制天地图报错如下:

Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/hc/core5/http/message/BasicNameValuePair;

查询资料得知是Android 9以后不支持 http库并删除掉该库,Google官方推荐使用HttpURLConnection,但是ArcGIS是多平台开发,还是引用了Http,导致找不到该库文件

以下是常规Groovy构建build.gradle文件

groovy 复制代码
android {
   defaultConfig {
       // 1.加入这句话
       useLibrary 'org.apache.http.legacy'
   }

   packagingOptions {
       // 2.加入这句话
       exclude 'META-INF/DEPENDENCIES'
       exclude 'META-INF/NOTICE'
       exclude 'META-INF/LICENSE'
       exclude 'META-INF/LICENSE.txt'
       exclude 'META-INF/NOTICE.txt'
   }
}

dependencies {
   //3.加入这句话
   api 'org.apache.httpcomponents.client5:httpclient5:5.3'
}

由于我使用的是kotlin构建项目

所以build.gradle.kts修改如下

kotlin 复制代码
android {
   defaultConfig {
       // 1.加入这句话
       useLibrary("org.apache.http.legacy")
   }

// 2.加入这句话
    packagingOptions(Action {
        excludes.add("META-INF/LGPL2.1")
        excludes.add("META-INF/LICENSE")
        excludes.add ("META-INF/NOTICE")
        excludes.add("META-INF/DEPENDENCIES")
        excludes.add("META-INF/LICENSE.txt")
        excludes.add("META-INF/NOTICE.txt")
    })
}

dependencies {
   //3.加入这句话
   api ("org.apache.httpcomponents.client5:httpclient5:5.3")
}
相关推荐
tan180°6 分钟前
Linux网络HTTP(上)(7)
linux·网络·http
像素之间42 分钟前
http的发展历程
网络·网络协议·http
せいしゅん青春之我1 小时前
【JavaEE初阶】1124网络原理
网络·网络协议·java-ee
liulilittle2 小时前
国际带宽增长与用户体验下降的悖论
网络·网络协议·信息与通信·ip·ux·带宽·通信
、花无将2 小时前
PHP:下载、安装、配置,与apache搭建
android·php·apache
六点半8886 小时前
【计算机网络】初识HTTP(超文本传输协议)
网络协议·计算机网络·http
南一Nanyi6 小时前
才知道 DNS 还能基于 HTTPS 实现!
网络协议·安全·面试
_星辰大海乀6 小时前
网络原理 -- HTTP
java·服务器·http·get方法·post方法
歪歪1008 小时前
使用 Wireshark 进行 HTTP、MQTT、WebSocket 抓包的详细教程
网络·websocket·测试工具·http·wireshark
paishishaba13 小时前
无状态协议HTTP/HTTPS (笔记)
网络协议·http