DexClassLoader在5.0以上遇到的錯(cuò)誤

具體錯(cuò)誤信息如下


錯(cuò)誤信息.png

4.X手機(jī)正常,5.X以上會(huì)出異常

java.io.IOException:Failed to open zip archive"/../../../swr.jar"

也就是說(shuō)DexClassLoader解壓jar包失敗.
百度,goole了一下,也沒(méi)有什么好的解決辦法,然后就開(kāi)始排查文件,發(fā)現(xiàn)釋放到Files目錄下的jar要比原始的jar尾部多幾十個(gè)字節(jié).原來(lái)4.X手機(jī)對(duì)jar包沒(méi)有強(qiáng)校驗(yàn)機(jī)制,就算是jar尾部多出幾十個(gè)字節(jié),只要jar可以正常運(yùn)行就不會(huì)出錯(cuò),但是5.0以上手機(jī)對(duì)jar有強(qiáng)校驗(yàn)機(jī)制,也就是即使jar只是尾部多出幾十個(gè)字節(jié),系統(tǒng)也不會(huì)去解壓,而是會(huì)拋出
Suppressed: java.io.IOException: Failed to open zip archive '/data/data/com.e.h.hms/files/swr.jar'
從而導(dǎo)致DexClassLoader加載失敗.
zhiy

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容