Android 切换R8混淆器

之前一直没抽出空来,终于过年得到了额外假期关心下大家健康,前两天把之前鸽了好久的Cimoc更新了一下。目前大多数源都可以使用了,有几个源网站失效准备删去,修复了几个,大部分貌似都能用,几个不能用的先搁置几天。

今天抽时间更新了程序的依赖以及适配了Android Q,并且切换到R8混淆器。

效果

通过R8混淆器的使用,编译速度由10min缩短至5min左右(travis ci集成时间),体积缩小170kb左右(由于后面将android support库切换为AndroidX库,依赖更新,折腾完后比原先涨了100k左右)

过程记录

本来R8早在19年就已经被Google设置成为了默认的混淆器,但是由于咕咕咕,以及不常写Android软件,当时的处理是关掉R8,仍保持原有混淆策略。

这次,首先在debug模式启用混淆,启用R8,进行编译,得到了闪退的程序,查看logcat的堆栈信息可知,由于GreenDAO的崩溃导致闪退。

通过面向Google搜索的编程(参考https://juejin.im/post/5d5fb53b51882554a13f8b6a),做出补丁https://github.com/feilongfl/Cimoc/commit/a51f39c406ae9762190f379400491f1b2f108324

再次测试,OK不闪退了,面向Google编程结束。