- 使用5.1版本proguard;
- 自己对mapping文件去除内联函数的行信息。如果使用 4.X 版本的 Proguard 强烈建议升级到 5.1 版本。可以先下载 5.1的 Proguard, 然后通过以下方式指定:
若使用gradle编译,与multiDexKeepProguard不同,我们无需将生成的tinker_proguard.pro拷贝到自己的配置中。另外一个方面,若applymapping过程出现冲突,我们可以采取以下几个方法:
- 修改基准包的mapping文件;我们需要根据新的mapping文件,修正基准包的mapping文件。例如将warning项删掉或者将新mapping中keep的项复写到基准的mapping中。可以参考脚本与merge_mapping.py。注意,如果想通过直接删除旧mapping文件的冲突项,需要注意删除类的内部类是否存在混淆冲突