proguard + maven + android错误:必须在[proguard.optimize.peephole.ClassMerger]中覆盖方法,如果有人调用的话

时间:2014-02-27 11:24:03

标签: android maven proguard

我在通过maven运行proguard时遇到类似下面的错误。我不明白的是,它与ANT一起使用没有任何问题。在其他maven中可以输出2个名为seeds.txt和usage.txt的文件,然后才真正崩溃,然后由于某种原因我失败了它失败了。

我在互联网上搜索了错误(“方法必须在[proguard.optimize.peephole.ClassMerger中覆盖],如果曾经被调用过”,并尝试应用建议但没有解决问题。有人可以给我任何建议吗?我真的很沮丧。

utjars, 'D:\Projects\MavenInHerd\Android\SOP\trunk\target\proguard-obfuscated.ja
r', -dump, 'D:\Projects\MavenInHerd\Android\SOP\trunk\target\proguard\dump.txt',
 -printseeds, 'D:\Projects\MavenInHerd\Android\SOP\trunk\target\proguard\seeds.t
xt', -printusage, 'D:\Projects\MavenInHerd\Android\SOP\trunk\target\proguard\usa
ge.txt', -printmapping, 'D:\Projects\MavenInHerd\Android\SOP\trunk\target\progua
rd\mapping.txt']
[INFO] Note: there were 185 duplicate class definitions.
[INFO]       You should check if you need to specify additional program jars.
[INFO] Error: Method must be overridden in [proguard.optimize.peephole.ClassMerg
er] if ever called
[INFO] ------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:0)

问题解决了。在开始解释我是如何解决这个问题之前,我将提到它是如何使用ANT而没有问题但是不是通过maven。它与ANT一起运行,因为ANT正在寻找project.properties文件,其配置如下所示

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

上面,我的proguard.txt正在与基础proguard-android.txt合并。最终,蚂蚁正在寻找1个内容。

但是maven对project.properties一无所知这就是问题。解决方案是合并这两个文件(我的proguard-project.txt和$ {sdk.dir} / tools / proguard /proguard-android.txt)手动。