【发布时间】:2015-02-25 14:04:30
【问题描述】:
打开 ProGuard 后,我无法连接到 IMAPSSLStore。这是来自 logcat 窗口的一些内容:
A0 OK 这就是她写的全部内容! i1mb111841581wil
IMAP 调试:身份验证:XOAUTH
IMAP 调试:身份验证:XOAUTH2
IMAP 调试:身份验证:普通
IMAP 调试:身份验证:PLAIN-CLIENTTOKEN
调试:protocolConnect 登录,host=imap.gmail.com,user=user***@gmail.com,password=
IMAP 调试:无法加载 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.** { *; }
没有任何作用....
请帮忙:)
附言抱歉,不知道如何更好地格式化堆栈跟踪
【问题讨论】:
-
您可以尝试升级到JavaMail 1.5.2,其中包括built-in OAuth2 support,看看是否有帮助。
-
谢谢,但答案是另一个 ProGuard 行(下)。
标签: android authentication jakarta-mail proguard obfuscation