ProGuard java.lang.NoSuchMethodException

时间:2014-12-29 11:28:13

标签: android authentication javamail proguard obfuscation

打开ProGuard后,我无法连接到IMAPSSLStore。这里有一点来自logcat窗口:

A0好的,这就是她所写的一切! i1mb111841581wil
IMAP DEBUG:AUTH:XOAUTH
IMAP DEBUG:AUTH:XOAUTH2
IMAP DEBUG:AUTH:PLAIN
IMAP DEBUG:AUTH:PLAIN-CLIENTTOKEN
DEBUG:protocolConnect登录,host = imap.gmail.com,user = user*** @ gmail.com,密码=
IMAP DEBUG:无法加载SASL身份验证器:java.lang.NoSuchMethodException: [class com.bbbai,class java.lang.String,class java.util.Properties,boolean,class java.io. PrintStream,类java.lang.String]
A1 AUTHENTICATE PLAIN +
A1 NO [ALERT]凭据无效(失败)
a.b.b:[ALERT]凭证无效(失败)

我的提供者类:

 public static final class OAuth2Provider extends java.security.Provider {
    private static final long serialVersionUID = 1L;

    public OAuth2Provider() {
        super("Google OAuth2 Provider", 1.0,
                "Provides the XOAUTH2 SASL Mechanism");
        try {
           put("SaslClientFactory.XOAUTH2", "com.company.app.OAuth2SaslClientFactory");
        }
        catch (Exception e)
        {
           System.out.println("OAUTH2Provider error.");
        }


    }
}

在proguard-project.txt中我试过(HelperClass是我连接到商店的班级):

-keep class com.company.app.HelperClass.**
-keep class javax.security.sasl.** { *; }
-keep class com.sun.mail.imap.IMAPSSLStore.**
-keep class java.security.** { *; }

没有任何作用......

请帮助:)

P.S。对不起,不知道如何更好地格式化stacktrace

1 个答案:

答案 0 :(得分:0)

OAuth2SaslClientFactory是我从这里得到的一个类:https://code.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/code/samples/oauth2/OAuth2SaslClientFactory.java?r=3

我必须包含ProGuard专栏

-keep class com.company.app.OAuth2SaslClientFactory

等。