Ignoring InnerClasses attribute for an anonymous inner class问题解决

作者:鱼头
链接:https://www.zhihu.com/question/46649910/answer/114773073
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

根据stackoverflow,尝试在"proguard-rules.pro"中添加
-keepattributes InnerClasses
-dontoptimize
<img src="https://pic1.zhimg.com/50/73646907e4e10c994ac235ecbe07c139_hd.jpg" data-rawwidth="400" data-rawheight="52" class="content_image" width="400">
<img src="https://pic3.zhimg.com/50/2612469507b704027222965da05feedf_hd.jpg" data-rawwidth="278" data-rawheight="54" class="content_image" width="278">
2. "This class was probably produced by a compiler that did not target the modern .class file format" · Issue #285 · moagrius/TileView · GitHub
这个链接里说,当android plugin升级到2.1.5的版本时不再出现此warning.点击File->Project Structure->Project查看版本。但是jcenter好像没有2.1.5版本下载了,进入 jcenter.bintray.com/com随便挑一个高版本的名字填到"Android Plugin Repository"中,我选的是2.1.2,然后就会自动下载(也可以通过修改项目的build.gradle完成)。
下载好plugin后,可能会提示gradle版本不够,根据提示去 Gradle Distributions下载一个新版,我下的是 gradle-2.10-all.zip,然后到Settings->Build,Execution,Deployment->Build Tools->Gradle中use local gradle distribution设置路径。运行试试。<img src="https://pic4.zhimg.com/50/6da8c6166dca76ed46dec72fb09b4051_hd.jpg" data-rawwidth="454" data-rawheight="204" class="origin_image zh-lightbox-thumb" width="454" data-original="https://pic4.zhimg.com/6da8c6166dca76ed46dec72fb09b4051_r.jpg">
3.看看导入的jar包里是否有未使用的,删除或者到build.gradle的dependencies中注释掉。比如我要用httpclient,里面有7个包,我把下面的四个包注释掉了。据说有可能是因为项目方法太多,超出了安卓可运行的方法数。再运行看看。<img src="https://pic2.zhimg.com/50/6fa7e1d4857613cfd6755bb3d2583c3e_hd.jpg" data-rawwidth="499" data-rawheight="172" class="origin_image zh-lightbox-thumb" width="499" data-original="https://pic2.zhimg.com/6fa7e1d4857613cfd6755bb3d2583c3e_r.jpg">
以上三步依次做完之后,终于可以运行项目了 T T
然而第二步里我尝试换成更高级的版本比如 2.2.0-alpha7的plugin和 gradle-2.14.1-all.zip的gradle,其它都一样,失败。
简直是一门玄学…

猜你喜欢

转载自blog.csdn.net/qq_38014385/article/details/80357953