前言
CSDN博客地址 (由于csdn的图片经常出现不显示问题,以后就在简书写博客了)
GitHub https://github.com/MrQ-Android
开发中遇到的问题
点击run运行没有问题,但是打包出现这个问题,别着急,那很快就可以解决了
如果你也遇到了相同的问题,有望在1分钟之内找到问题所在,往下读吧
如图:
解决问题的思路
首先要确定是混淆导致的,点击run运行没有问题,但是打release包就出现问题了,然后接下来就是要找到混淆的时候哪些类丢了出error或者warning了
很明显里面把错误给输出了,有时候如果没有输出的话,可以点击Run With --info重新跑一下 ,然后往上翻 看本次编译的错误,白色的就不用看了 ,直接看红色的地方
可以看出 有以下几个报了warning 总结一下就是:
org.greenrobot.greendao.database.EncryptedDatabaseStatement
org.greenrobot.greendao.database.EncryptedDatabase
org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
org.greenrobot.greendao.AbstractDao
org.greenrobot.greendao.rx.RxBase
。。。。。等等很多
然后知道之后就可以看出 都是org.greenrobot.greendao下面的 然后每一行前面都是报的warning,所以我们就找到问题了 在proguard-rules.pro里面添加这一句:
#-dontwarn org.greenrobot.greendao.**
然后重新Build 一切正常。如果是其他错误 也可以 -keep -keepclassmembers 解决 ,只要找到问题所在我相信对于解决来说就不难了。
ps:
有很多同学可能找不到GradleConsole,正常情况下GradleConsole在AndroidStudio的右下角,如果没有的话我们也可以在AndroidStudio的菜单栏点击View -- ToolWindows -- GradleConsole 把它显示出来
希望这篇文章可以帮助到需要的人,如果还有其他问题或者补充可以联系我~~~