Proguard 保留类名?

新手上路,请多包涵

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

原文由 Nik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

在 proguard.cfg 中使用 -keepnames 选项

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

-keepnames class_specification

-keep,allowshrinking class_specification 的缩写

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

原文由 Zaid Daghestani 发布,翻译遵循 CC BY-SA 4.0 许可协议

这使类名保持不变:

 -keepnames class com.somepackage.*

原文由 tarkeshwar 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题