Android開(kāi)發(fā)導(dǎo)入項(xiàng)目報(bào)錯(cuò)Ignoring InnerClasses attribute for an anonymous inner class的解決辦法
在安卓開(kāi)發(fā)導(dǎo)入項(xiàng)目過(guò)程中,出現(xiàn)錯(cuò)誤再所難免。最近導(dǎo)入項(xiàng)目就遇到如下錯(cuò)誤,具體如下圖所示。
出現(xiàn)如上錯(cuò)誤,最初設(shè)想先看下項(xiàng)目能不能運(yùn)行。經(jīng)嘗試可以完美的在windows系統(tǒng)上運(yùn)行(雖然會(huì)出現(xiàn)如上的錯(cuò)誤警告)。項(xiàng)目雖然在報(bào)警告的情況下,能在windows系統(tǒng)上運(yùn)行,但一般Android項(xiàng)目都是基于Windows和OS X系統(tǒng)開(kāi)發(fā)。于是猜想項(xiàng)目能不能同樣在OS X系統(tǒng)上運(yùn)行呢?結(jié)果發(fā)現(xiàn)不能,必須要把這些錯(cuò)誤警告解決才行。
最初根據(jù)上圖提示認(rèn)為可能是對(duì)應(yīng)的第三方j(luò)ar包的問(wèn)題。于是,分別替換了對(duì)應(yīng)的第三方j(luò)ar包。替換后,發(fā)現(xiàn)還是出現(xiàn)相同的問(wèn)題。由此jar包問(wèn)題被排除。經(jīng)查找相應(yīng)的資料說(shuō)添加如下代碼能解決這個(gè)錯(cuò)誤警告,報(bào)著半信半疑的態(tài)度開(kāi)始試試。
找到項(xiàng)目下對(duì)應(yīng)的proguard-rules.pro
文件。如下圖所示。
在proguard-rules.pro文件中添加如下代碼(解釋?zhuān)汉雎詢(xún)?nèi)部類(lèi)的一些屬性)。
-keepattributes EnclosingMethod
再次重新構(gòu)建項(xiàng)目,運(yùn)行發(fā)現(xiàn)然并卵。再次查找相關(guān)資料,資料顯示每個(gè)項(xiàng)目的Dex都有方法數(shù)的限制(上限65536,超過(guò)上限號(hào)稱(chēng)應(yīng)用爆棚),由此猜想會(huì)不會(huì)是Dex的方法數(shù)超過(guò)上限呢?同樣報(bào)著試試的態(tài)度,在項(xiàng)目的build.gradle文件中添加multiDexEnabled true代碼(解釋?zhuān)涸O(shè)置多Dex
可用)。
其具體情況如下圖所示
再次重構(gòu)項(xiàng)目,運(yùn)行,出現(xiàn)如下結(jié)果
由此項(xiàng)目可以在Windows上無(wú)錯(cuò)誤運(yùn)行,再次將項(xiàng)目導(dǎo)入Mac上,完美運(yùn)行。Ignoring InnerClasses attribute for an anonymous inner class
問(wèn)題解決就介紹到此。
下面做下簡(jiǎn)單的小結(jié):
(1) 第一考慮是不是可以直接忽略第三方的屬性的錯(cuò)誤警告,由此層層遞進(jìn)發(fā)現(xiàn)問(wèn)題。
(2) 出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問(wèn)題一般是第三方j(luò)ar的問(wèn)題引起的可能性很小,首先考慮是不是Dex越界問(wèn)題。
(3) 將keepattributes EnclosingMethod去除,再次重構(gòu)發(fā)現(xiàn)也不會(huì)出現(xiàn)Ignoring InnerClasses attribute for an anonymous inner class問(wèn)題,由此進(jìn)一步推斷主要是Dex越界問(wèn)題引起Ignoring InnerClasses attribute for an anonymous inner class問(wèn)題。如果導(dǎo)入項(xiàng)目遇到類(lèi)似問(wèn)題首先判斷是否是Dex越界引起。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(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)錯(cuò)Unable to build: the file dx.jar was not loaded from the SDK folder的解決辦法
- Android Studio發(fā)布項(xiàng)目到Jcenter倉(cāng)庫(kù)步驟(圖文)
- 實(shí)例講解建立Android項(xiàng)目
相關(guān)文章
Android實(shí)現(xiàn)簡(jiǎn)單點(diǎn)贊動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單點(diǎn)贊動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Android采取BroadcastReceiver方式自動(dòng)獲取驗(yàn)證碼
這篇文章主要介紹了Android采取BroadcastReceiver方式自動(dòng)獲取驗(yàn)證碼,感興趣的小伙伴們可以參考一下2016-08-08Android實(shí)現(xiàn)九宮格抽獎(jiǎng)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)九宮格抽獎(jiǎng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Android自定義View實(shí)現(xiàn)彈性小球效果
前段時(shí)間看到一個(gè)功能,是一個(gè)小球沿著固定軌跡彈動(dòng)的效果,那么這篇文章小編給大家分享在Android中如何自定義View來(lái)實(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 TabLayout的指示器寬度問(wèn)題
這篇文章主要介紹了android TabLayout的指示器寬度問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03Android界面一鍵變灰開(kāi)發(fā)深色適配模式編程示例
這篇文章主要為大家介紹了Android界面一鍵變灰開(kāi)發(fā)深色適配模式編程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04