我需要混淆 Android 库的整个代码,除了一些将被开发人员使用的类/方法。
我成功了,除了在我的 XML 布局中调用的某些类没有被重命名,而且我很难在 R8/Proguard 中找到一个选项或强制它的技巧,即使我必须手动或使用脚本在我的 XML 布局中更新这些类(我知道 R8/Proguard 自己不会编辑它们)感谢生成的mapping.txt
文件。
我发现的更接近的问题是Proguard (R8) 混淆了自定义视图名称,但它没有解决我面临的问题,R8/Proguard 仍然忽略这些类的重命名:/
如果有人有想法,欢迎您 :) 感谢您的时间和知识;)
[编辑]
我最终放弃并在我的自定义视图的 XML 布局中放置了占位符,并在运行时对它们进行了膨胀。
遗憾的是,Proguard/R8 无法使用 aapt 处理在 XML 布局中重命名的自定义类:/
对于信息,我也遇到了fragment
在我的 XML 布局中使用项目的问题,其中name
属性没有重命名,而相应的类是......
所以对于这些,我也必须放置占位符并在运行时给它们充气......
我让问题打开,以防有一天有人找到窍门;)