解决Android 6.0及以上版本中org.apache.http.legacy.jar缺失问题
需积分: 10 118 浏览量
更新于2024-10-08
收藏 235KB ZIP 举报
资源摘要信息:"org.apache.http.legacy.jar是一个包含在Android 6.0(API 23)之前的Android SDK中的Java库,这个库是用于提供HTTP通信的底层支持。在Android 6.0之后,Google为了优化和更新网络栈,移除了org.apache.http.*包中的大部分类,只保留了几个关键类在HttpURLConnection类中。这样做的目的是为了鼓励开发者使用更现代的网络通信库,如***.HttpURLConnection或者第三方库如OkHttp和Retrofit。
然而,这导致在升级到Android 6.0之后,那些依赖于org.apache.http包的旧有应用程序无法正常工作,因为它们的HTTP通信功能被破坏了。为了维持向后兼容性,Android团队提供了一个特殊的解决方案,即在应用的项目中引入org.apache.http.legacy.jar文件。
对于Android Studio用户,需要进行以下步骤:
1. 下载org.apache.http.legacy.jar文件。
2. 将下载好的jar文件放置到应用程序的app目录下的libs文件夹内。
3. 在Android Studio中右键点击jar文件,选择"Add as Library"或通过File -> Project Structure -> Libraries,然后点击"+"来添加库。
4. 完成添加后,进行项目的同步操作(Sync Project with Gradle Files),以确保库被正确引入。
对于Eclipse用户,操作更为简单:
1. 直接将org.apache.http.legacy.jar文件添加到项目的libs文件夹中。
2. 右键点击该jar文件并选择Build Path -> Add to Build Path,以确保Eclipse项目可以识别并使用该库。
以上操作完成之后,应用应该就可以正常使用org.apache.http.legacy.jar包中的类库了,从而使得应用程序能够在Android 6.0及以上版本上正常运行。这个操作主要是为了那些因升级SDK导致无法工作的旧有应用提供临时解决方案,以保证应用的正常运行,直到开发者有机会更新其代码库,迁移到新的网络通信库。
需要注意的是,这个临时解决方案并不推荐用于新应用的开发。对于新应用,建议直接使用Android原生的HttpURLConnection或者是支持HTTP/2和WebSocket的第三方库,这样不仅可以获得更好的性能和安全性,还可以避免将来在更高版本的Android系统中出现兼容性问题。
随着技术的发展,HTTP通信已经发展到更高效、更安全的协议版本,如HTTP/2,同时,网络编程的最佳实践也在不断变化,例如使用协程来简化网络操作的异步处理。因此,即使是对于旧有应用,如果可能,也应考虑升级至更现代的网络通信解决方案,以提供更好的用户体验和应用性能。"
关键词:Android 6.0、SDK、org.apache.http.legacy.jar、libs目录、网络通信、HTTP、Java、Android Studio、Eclipse、向后兼容性、HttpURLConnection、OkHttp、Retrofit、HTTP/2。
2020-02-04 上传
179 浏览量
2019-12-16 上传
2018-11-03 上传
2018-01-21 上传
2019-02-25 上传
aidezhanxian
- 粉丝: 713
- 资源: 53
最新资源
- ICCAVR使用说明
- swis学习手记而为热微微额头 而特玩儿玩儿为认为而为而
- DB2数据库函数大全
- 图书馆管理系统说明书
- C语言教程 推荐学生下载
- NiosII软件开发手册(中文版)
- VC++数据库编程(电子书pdf)
- 数码管动态显示数码管动态显示数码管动态显示
- struct学习struct配置
- 什么是A S P Microsoft Active Server Pages (ASP)
- Visual C++ - OpenGL Super Bible
- 日历记事本java编程
- Linux基础命令(基于VOIP).
- Quintum网关基本配置
- 日历记事本java编程
- 使用JSF, Spring, Hibernate构建一个实际的web