Proguard 保留类名?

2022-09-01 02:50:20

你好,我正在编写一个Android应用程序,并且我已经设置了Proguard来混淆我的应用程序。但是,我使用类装入器将不同的扩展动态加载到我的应用程序中。问题是,如果更改了它们的名称,则它们无法正确加载。如何防止 Proguard 混淆特定的类名?


答案 1

使用护卫中的选项.cfg-keepnames

请参阅手册 https://www.guardsquare.com/manual/configuration/usage#keepoptions

-keepnamesclass_specification

class_specification的缩写-keep,allowshrinking

指定要保留其名称的类和类成员(如果在收缩阶段未将其删除)。例如,您可能希望保留实现可序列化接口的类的所有类名,以便处理的代码与任何最初序列化的类保持兼容。仍然可以删除根本不使用的类。仅在模糊处理时适用。


答案 2

这将保持类名不变:

-keepnames class com.somepackage.* 

推荐