【问题标题】:Proguard error : Unknown option '-optimizationpasses'Proguard 错误:未知选项“-optimizationpasses”
【发布时间】:2011-06-08 20:13:35
【问题描述】:

我的 Proguard 构建曾经在早期的 Android SDK(10 之前)中工作,但现在不再适用,这是一个非常基本的错误 - 见下文:

C:\development\android-sdk-windows\tools\ant\main_rules.xml:453:未知选项 文件“C:\Users\Richard\Desktop\CodeWordTEST\p”第 1 行中的“-optimizationpasses” roguard.cfg'

即proguard 在第一行失败。 有趣的是,如果我删除“-optimizationpasses”命令,它会设法通过 proguard 选项走得更远,但随后在“-dontpreverify”上失败

似乎有些事情发生了变化,所以我回到了基础。

我从命令行构建了一个项目,以获取默认的 build.xml 和 proguard.cfg 文件。

还是同样的错误。

环境:

  • Windows 7

  • ADT 版本:11.0.0.v201105251008-128486

  • 蚂蚁 1.8.1

  • env 路径中没有其他 Proguard

proguard.cfg 内容(=默认由 android cmd 行自动生成):

-优化通过 5

-dontusemixedcase类名

-dontskipnonpubliclibraryclasses

-不要预验证

-详细

-优化 !code/simplification/arithmetic,!field/,!class/merging/

等等……

任何想法可能导致问题?

提前谢谢...

【问题讨论】:

  • 好的,对于发现此问题的其他人来说,这是一个简单但不明显的修复。与 Android 文档 (developer.android.com/sdk/tools-notes.html) 不同,Ant 1.8 及更高版本还不够好。使用蚂蚁 1.8.2。魔术发生。 (如果有人知道它起作用的原因,请随时发布。很高兴能理解。)

标签: android proguard


【解决方案1】:

与 Android 文档 (developer.android.com/sdk/tools-notes.html) 不同,Ant 1.8 及以后的版本还不够好:

使用 Ant 1.8.2。

如果有人知道需要 1.8.2 的原因,我们很想知道。 干杯...

【讨论】:

    【解决方案2】:

    这些错误表明您以某种方式使用了非常旧的 ProGuard 版本(2004 年 3.0 引入了优化,2007 年 4.0 引入了预验证)。

    【讨论】:

    • 您好埃里克,感谢您的回答。这是在路径中没有 Proguard 的 Win7 开发 PC 上,因此它在 Android SDK 中使用 Proguard。从 Ant 1.8.1 迁移到 Ant 1.8.2 成功了,但我不明白为什么。以前在较旧的 Android SDK 上使用 Proguard 4.4,所以我觉得这是 SDK 11 Ant 冲突。虽然没有证据......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2017-05-20
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多