Android java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion


問題是突然出現的,因為我走測試的時候沒有問題,但是正式的時候就這樣了,報錯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最崩潰的一年加油。

 

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM