【问题标题】:Proguard 6 new "-android" optionProguard 6 新的“-android”选项
【发布时间】:2018-06-09 05:44:01
【问题描述】:

Proguard 6 从 2 月开始推出,提供 some new features,其中 -android 选项

"A new option -android, to tune the optimizations for Android"

我想了解有关此选项的更多信息,以了解它在优化(以及可能的混淆)方面的真正作用。

我在guardsquare.com 上搜索并用Google 搜索:我只能在this page 上找到一个关于android 的dead 链接。这是链接:

> android 将处理后的类文件定位到 Android。

在哪里可以找到有关此新选项的清晰详细说明?

谢谢

【问题讨论】:

标签: android proguard android-proguard


【解决方案1】:

我在guardsquare.com 上搜索并用Google 搜索:我只能找到一个死链接

我们可以随时查看源代码!

首先,我从Sourceforge repository page 下载了一个快照 6.3.3 源。

解压后:

grep -R android core/src/ | wc -l
27

只有 27 次提及“android”。让我们回顾一下列表:

  1. 对于 Android,maximum.inlined.code.length 设置为 32 — 是 JVM 默认值的 4 倍
  2. 在某些优化阶段的额外内联(以前在 Android 上不起作用,因为它不使用预验证)
  3. Math 替换对FloatMath 的引用(优化并不是那么重要...)
  4. 资源字符集设置为 UTF-8(而不是系统默认字符集)
  5. 一些与 Android Gradle 插件兼容的旧代码
  6. ConfigurationLogger — 如文档中所述,“可以将此类注入应用程序以记录有关在应用程序代码中使用的反射的信息”。该类支持特定于 Android 的日志记录框架(又名 android.util.Log

5 和 6 甚至与命令行 -android 选项无关,只是一些额外的代码,与 Android 用户相关。

【讨论】:

  • 太棒了!只有一个关于“2”的问题。您写道:“以前在 Android 上不起作用,因为它不使用预验证”:我仍然必须在我的 Proguard 文件中使用“-dontpreverify”,对吗?根据documentation,我想是的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
相关资源
最近更新 更多