【问题标题】:Specify classes to obfuscate with ProGuard?指定要使用 ProGuard 混淆的类?
【发布时间】:2012-05-04 14:22:02
【问题描述】:

如何指定我希望 Proguard 对包含在我的项目中的一组 jar 文件进行混淆处理?我看过文档:

-injars class_path 指定程序 jars(或 wars、ears、zip 或目录)。
-outjars class_path 指定输出 jars(或 wars、ears、zip 或目录)的名称。
-libraryjars 类路径

但是我还是要问是哪一个指定了要混淆的jar文件?从文档中看不清楚。

我知道这是一个基本问题,但可以说我在 libs.jar 中有几个 jar,如何将它们指示为输入?也应该是类路径还是我可以指定目录。

【问题讨论】:

  • 大多数控件不是per JAR,而是per signature(包、类等)。 JAR 只是一个源(它也可以是一个目录),并且不提供任何信息以供签名匹配 AFAIK。
  • 好的,injar 和 library jar 之间可能有什么区别?
  • 所以我有四个 Eclipse 项目,它们相互依赖 jar 文件。一个是在设备上运行的可执行 android 项目,它包含几个 jar 文件。我是否需要告诉 proguard 这些其他 jars,如果需要,我该如何指定它们?
  • 那么如果我有一个包含 jars a.jar b.jar c.jar 的 Eclipse 项目,这些是否需要放入配置文件中?
  • 库 JAR 不考虑被 ProGuard 修改(它们包含的类不会放在“outjars”中),但仍然需要解析引用类型等。 只有在“injars”中找到的类被认为是“outjars”的候选者(在可能的使用等之后)。

标签: java android obfuscation proguard


【解决方案1】:

如果您在 Eclipse 中工作并且您的 .jar 文件放在 lib/ 文件夹中并包含在您的项目中,您不必担心它们,ProGuard 会自动使用它们来发挥作用。

【讨论】:

  • 好的。我想这对于 ant 构建和 eclipse 导出都是正确的?
  • 对不起,我没有使用ant的经验,我用的是Eclipse。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
  • 2014-08-15
  • 2012-06-24
  • 2021-08-10
相关资源
最近更新 更多