国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android開發(fā)導入項目報錯Ignoring InnerClasses attribute for an anonymous inner class的解決辦法

2019-12-12 00:24:44
字體:
供稿:網(wǎng)友

在安卓開發(fā)導入項目過程中,出現(xiàn)錯誤再所難免。最近導入項目就遇到如下錯誤,具體如下圖所示。

出現(xiàn)如上錯誤,最初設想先看下項目能不能運行。經(jīng)嘗試可以完美的在windows系統(tǒng)上運行(雖然會出現(xiàn)如上的錯誤警告)。項目雖然在報警告的情況下,能在windows系統(tǒng)上運行,但一般Android項目都是基于Windows和OS X系統(tǒng)開發(fā)。于是猜想項目能不能同樣在OS X系統(tǒng)上運行呢?結(jié)果發(fā)現(xiàn)不能,必須要把這些錯誤警告解決才行。

最初根據(jù)上圖提示認為可能是對應的第三方jar包的問題。于是,分別替換了對應的第三方jar包。替換后,發(fā)現(xiàn)還是出現(xiàn)相同的問題。由此jar包問題被排除。經(jīng)查找相應的資料說添加如下代碼能解決這個錯誤警告,報著半信半疑的態(tài)度開始試試。

找到項目下對應的proguard-rules.pro文件。如下圖所示。

在proguard-rules.pro文件中添加如下代碼(解釋:忽略內(nèi)部類的一些屬性)。

-keepattributes EnclosingMethod

再次重新構(gòu)建項目,運行發(fā)現(xiàn)然并卵。再次查找相關(guān)資料,資料顯示每個項目的Dex都有方法數(shù)的限制(上限65536,超過上限號稱應用爆棚),由此猜想會不會是Dex的方法數(shù)超過上限呢?同樣報著試試的態(tài)度,在項目的build.gradle文件中添加multiDexEnabled true代碼(解釋:設置多Dex可用)。

其具體情況如下圖所示

再次重構(gòu)項目,運行,出現(xiàn)如下結(jié)果

由此項目可以在Windows上無錯誤運行,再次將項目導入Mac上,完美運行。Ignoring InnerClasses attribute for an anonymous inner class問題解決就介紹到此。

下面做下簡單的小結(jié):

(1) 第一考慮是不是可以直接忽略第三方的屬性的錯誤警告,由此層層遞進發(fā)現(xiàn)問題。

(2) 出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問題一般是第三方jar的問題引起的可能性很小,首先考慮是不是Dex越界問題。

(3) 將keepattributes EnclosingMethod去除,再次重構(gòu)發(fā)現(xiàn)也不會出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問題,由此進一步推斷主要是Dex越界問題引起Ignoring InnerClasses attribute for an anonymous inner class問題。如果導入項目遇到類似問題首先判斷是否是Dex越界引起。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 香河县| 普兰店市| 轮台县| 泰和县| 江北区| 樟树市| 南宫市| 黑山县| 襄垣县| 名山县| 吐鲁番市| 常宁市| 宜宾市| 仁化县| 仙游县| 新巴尔虎右旗| 东源县| 莱芜市| 区。| 宁国市| 涟源市| 天峨县| 江源县| 颍上县| 中西区| 神池县| 斗六市| 城固县| 陕西省| 阿拉善右旗| 绥阳县| 太和县| 高台县| 江门市| 太原市| 四川省| 贞丰县| 贞丰县| 新化县| 桦川县| 呼玛县|