我在通过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] ------------------------------------------------------------------------
答案 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)手动。