再出AAR时把混淆开启后,得到的AAR内确有class都不见的状况
想再确认下面几点疑问
1.爬文后知道应该可以从ProGuard设定混淆规则来修改一些类要不要混淆?
2.为什么class会不见,爬文有看到似乎可能是该class内的code关联性不高?被混淆优化掉?
需要麻烦各位前辈帮忙 谢谢。
作者:
ssccg (23)
2017-09-13 12:53:00从要保留的class/method开始找,有被用到的就会加入要保留的,到最后都不需要保留的(=没用的)就删除包library通常是把所有要公开的API设为保留
但设保留的为什么就没有混淆到呢不太了解。是否设"保留(保护)"就等于"不会混淆"?应该说我最初的用意就是想要混淆,可是得到的结果是class不见..
作者:
ssccg (23)
2017-09-13 17:24:00直接指定keep的会被保留且不会混淆,由proguard找到会被用到但不是直接指定keep的,就会留下来但会被混淆用-dontshrink就会一律保留,但混不混淆还是看keep
作者:
ssccg (23)
2017-09-13 17:28:00proguard其实主要是个瘦身工具而不是保护工具没指定keep又没被别的keep的class用到的当然会不见啊留下public member可以写 { public *; }
聊解!!原来是因为"没被别的keep的class用到"这样
作者:
ssccg (23)
2017-09-13 17:30:00