今天在做应用测试时,拿了一台 9.0 的机器测试 APP。在引用第三方的lib包时,出现RuntimeException,查看 log,报错 Didn`t find class BasicHttpParams。
官网查看:Android 9.0 行为变更
- 原因: Apache Http 客户端弃用
因为早在 Android 6.0 中,谷歌取消了对 Apache Http 客户端的支持。从 Android 9.0 开始, org.apache.http.legacy 将从 bootclasspath 中删除。
该修改对于大多数 taskVersion < 9.0 的应用没有影响,对所有 taskVersion > 9.0 的应用,如果继续使用 Apache Http 接口或者引用的 lib 包中用到该接口时,都会出现 Apache Http 接口找不到的异常。
- 解决方案
在应用的 AndroidManifest.xml 文件的 <application> 中添加:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
再次运行应用,完美运行。
以上。