【问题标题】:What causes this error in Proguard: "Method must be overridden in [proguard.optimize.peephole.ClassMerger] if ever called"?是什么导致 Proguard 中出现此错误:“如果曾经调用,则必须在 [proguard.optimize.peephole.ClassMerger] 中覆盖方法”?
【发布时间】:2013-10-15 18:12:00
【问题描述】:

我正在通过 Maven 插件运行 Proguard,您可以在此处查看我的配置:https://github.com/sanity/tahrir/blob/proguard-debug/pom.xml#L61

你可以在这里看到“mvn -DskipTests assembly:assembly”的完整输出:https://gist.github.com/ee1081179496e11916cb

尽管进行了相当多的搜索,但我找不到任何导致此错误的解释,现在我也无法修复它?

【问题讨论】:

    标签: java maven proguard


    【解决方案1】:

    您的输入包含一个依赖于程序类的库类。 ProGuard 会警告它并且不允许它,除非您指定-dontwarn。您应该删除该选项并查看 ProGuard 的警告以了解详细信息。

    参见 ProGuard 手册 > Introduction

    请参阅 ProGuard 手册 > 疑难解答 > Warning: library class ... depends on program class ...

    【讨论】:

      【解决方案2】:

      对我来说,有

      proguard.config=proguard-project.txt
      

      导致了同样的错误。 更正以包含 sdk 和我的配置文件,如下所示。

      proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-13
        • 2021-01-20
        • 1970-01-01
        • 2015-02-16
        相关资源
        最近更新 更多