Android開發(fā)導(dǎo)入項(xiàng)目報(bào)錯Ignoring InnerClasses attribute for an anonymous inner class的解決辦法
在安卓開發(fā)導(dǎo)入項(xiàng)目過程中,出現(xiàn)錯誤再所難免。最近導(dǎo)入項(xiàng)目就遇到如下錯誤,具體如下圖所示。
出現(xiàn)如上錯誤,最初設(shè)想先看下項(xiàng)目能不能運(yùn)行。經(jīng)嘗試可以完美的在windows系統(tǒng)上運(yùn)行(雖然會出現(xiàn)如上的錯誤警告)。項(xiàng)目雖然在報(bào)警告的情況下,能在windows系統(tǒng)上運(yùn)行,但一般Android項(xiàng)目都是基于Windows和OS X系統(tǒng)開發(fā)。于是猜想項(xiàng)目能不能同樣在OS X系統(tǒng)上運(yùn)行呢?結(jié)果發(fā)現(xiàn)不能,必須要把這些錯誤警告解決才行。
最初根據(jù)上圖提示認(rèn)為可能是對應(yīng)的第三方j(luò)ar包的問題。于是,分別替換了對應(yīng)的第三方j(luò)ar包。替換后,發(fā)現(xiàn)還是出現(xiàn)相同的問題。由此jar包問題被排除。經(jīng)查找相應(yīng)的資料說添加如下代碼能解決這個錯誤警告,報(bào)著半信半疑的態(tài)度開始試試。
找到項(xiàng)目下對應(yīng)的proguard-rules.pro
文件。如下圖所示。
在proguard-rules.pro文件中添加如下代碼(解釋:忽略內(nèi)部類的一些屬性)。
-keepattributes EnclosingMethod
再次重新構(gòu)建項(xiàng)目,運(yùn)行發(fā)現(xiàn)然并卵。再次查找相關(guān)資料,資料顯示每個項(xiàng)目的Dex都有方法數(shù)的限制(上限65536,超過上限號稱應(yīng)用爆棚),由此猜想會不會是Dex的方法數(shù)超過上限呢?同樣報(bào)著試試的態(tài)度,在項(xiàng)目的build.gradle文件中添加multiDexEnabled true代碼(解釋:設(shè)置多Dex
可用)。
其具體情況如下圖所示
再次重構(gòu)項(xiàng)目,運(yùn)行,出現(xiàn)如下結(jié)果
由此項(xiàng)目可以在Windows上無錯誤運(yùn)行,再次將項(xiàng)目導(dǎo)入Mac上,完美運(yùn)行。Ignoring InnerClasses attribute for an anonymous inner class
問題解決就介紹到此。
下面做下簡單的小結(jié):
(1) 第一考慮是不是可以直接忽略第三方的屬性的錯誤警告,由此層層遞進(jìn)發(fā)現(xiàn)問題。
(2) 出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問題一般是第三方j(luò)ar的問題引起的可能性很小,首先考慮是不是Dex越界問題。
(3) 將keepattributes EnclosingMethod去除,再次重構(gòu)發(fā)現(xiàn)也不會出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問題,由此進(jìn)一步推斷主要是Dex越界問題引起Ignoring InnerClasses attribute for an anonymous inner class問題。如果導(dǎo)入項(xiàng)目遇到類似問題首先判斷是否是Dex越界引起。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Android發(fā)布項(xiàng)目到j(luò)itpack的完整步驟
- 詳解androidstudio項(xiàng)目上傳到github方法以及步驟
- Android studio刪除Android項(xiàng)目方法
- 取消Android Studio項(xiàng)目與SVN關(guān)聯(lián)的方法
- Eclipse運(yùn)行android項(xiàng)目報(bào)錯Unable to build: the file dx.jar was not loaded from the SDK folder的解決辦法
- Android Studio發(fā)布項(xiàng)目到Jcenter倉庫步驟(圖文)
- 實(shí)例講解建立Android項(xiàng)目
相關(guān)文章
Android實(shí)現(xiàn)簡單點(diǎn)贊動畫
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡單點(diǎn)贊動畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Android采取BroadcastReceiver方式自動獲取驗(yàn)證碼
這篇文章主要介紹了Android采取BroadcastReceiver方式自動獲取驗(yàn)證碼,感興趣的小伙伴們可以參考一下2016-08-08Android自定義View實(shí)現(xiàn)彈性小球效果
前段時(shí)間看到一個功能,是一個小球沿著固定軌跡彈動的效果,那么這篇文章小編給大家分享在Android中如何自定義View來實(shí)現(xiàn)彈性小球的效果,有需要的可以參考借鑒。2016-09-09GridView實(shí)現(xiàn)桌面圖標(biāo)顯示案例
這篇文章主要為大家詳細(xì)介紹了GridView實(shí)現(xiàn)桌面圖標(biāo)顯示案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android實(shí)現(xiàn)界面內(nèi)嵌多種卡片視圖(ViewPager、RadioGroup)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)界面內(nèi)嵌多種卡片視圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Android studio實(shí)現(xiàn)簡單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Android studio實(shí)現(xiàn)簡單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03