代码之家  ›  专栏  ›  技术社区  ›  Mickey Tin

Android-从ProGuard中排除库(jar)类

  •  0
  • Mickey Tin  · 技术社区  · 11 年前

    我试图混淆我的项目,但我得到了以下例外:

    Unexpected error while evaluating instruction:
    Class       = [com/sun/mail/pop3/Protocol]
    Method      = [quit()Z]
    Instruction = [24] aload_3 v3
    Exception   = [java.lang.NullPointerException] (null)
    Unexpected error while performing partial evaluation:
    Class       = [com/sun/mail/pop3/Protocol]
    Method      = [quit()Z]
    Exception   = [java.lang.NullPointerException] (null)
    

    我试过了: -keep class com.sun.mail.pop3.Protocol{ *; } 但这无济于事。如何将此类从ProGuard处理中排除?

    1 回复  |  直到 11 年前
        1
  •  2
  •   Eric Lafortune    11 年前

    您应该检查更新您的Android SDK,尤其是Android SDK/tools/proguard/lib/proguard.jar到最新版本(此时为proguard 4.10)是否解决了问题。ProGuard jar是向后兼容的,因此您只需从 ProGuard site 然后复制罐子。

    否则,您可以在ProGuard的错误跟踪器上报告错误。你可能可以通过关闭优化来解决这个问题 -dontoptimize 在您的ProGuard配置文件中。