Android 突然报错 java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion

本文详细阐述了解决Android APP因API版本过高导致的闪退问题。通过在Manifest中加入特定配置,调整网络请求设置,并添加前台服务权限,最终解决了应用在高版本Android系统上的稳定性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题是突然出现的,因为我走测试的时候没有问题,但是正式的时候就这样了,报错APP发生的样式是直接闪退。问题报错位置大概是Applicition类,因为这里基本是都是初始化第三方地方,

问题形成原因:可能是api过高了,我这里之前是27。因为需要集成一个发布WiFi给硬件使用的第三方sdk改成了28.

重点:API 版本过高造成的。

解决方法:

在Manifest下的application标签 下加入:

<uses-library android:name="org.apache.http.legacy" android:required="false" />

大概样式:

<application    吧啦吧啦吧啦。。。。。>

<uses-library android:name="org.apache.http.legacy" android:required="false" />

</application>

如果还不OK:

你会发现app连不上网:

解决方法:  一般出现在android版本9.0以上,好像是android对网络请求出现了限制<httpclient>就这个

首先在res下弄一个叫xml的包创建一个文件,例如:aaa

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

之后在manifest里面

<application   

android:networkSecurityConfig="@xml/aaa"

吧啦吧啦吧啦。。。。。>

<uses-library android:name="org.apache.http.legacy" android:required="false" />

</application>

最后在项目build的android目录里面加上

android {
    useLibrary 'org.apache.http.legacy'
}

如果如果如果还不好:十有八九用了服务,还可能是前台服务:

解决方法:  这个一般是因为app里面有服务的原因。android 9.0上使用前台服务,需要添加权限

在manifest里面加上这权限

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

基本是大功告成。

假如还有问题:

现在是考验我们的心里素质了,

首先把电脑调至到桌面,鼠标右击创建一个word文档,其次在里面写入离职证明。最后交由经理。不干了

太欺负人。(开个玩笑嘿嘿)

----致敬不断在bug之路披荆斩浪的我们!!!

   2020最崩溃的一年加油。

 

       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值