在Proguard中导致此错误的原因是:“如果有人调用过,必须在[proguard.optimize.peephole.ClassMerger]中覆盖方法”?

时间:2013-10-15 18:12:00

标签: java maven proguard

我通过Maven插件运行Proguard,你可以在这里看到我的配置:https://github.com/sanity/tahrir/blob/proguard-debug/pom.xml#L61

您可以在此处查看“mvn -DskipTests assembly:assembly”的完整输出:https://gist.github.com/ee1081179496e11916cb

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

2 个答案:

答案 0 :(得分:0)

您的输入包含依赖于程序类的库类。除非您指定-dontwarn,否则ProGuard会对此发出警告并且不允许它。您应该删除该选项并查看ProGuard的警告以获取详细信息。

请参阅ProGuard手册> Introduction

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

答案 1 :(得分:0)

对我来说,

proguard.config=proguard-project.txt

导致同样的错误。 更正包括sdk和我的配置文件,如下所示修复它。

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