ProGuard的java.lang.NoSuchMethodException [英] ProGuard java.lang.NoSuchMethodException
问题描述
打开ProGuard的后,我无法连接到IMAPSSLStore。下面是从logcat的窗口了一下:
After turning on the ProGuard I can't connect to IMAPSSLStore. Here's a bit from logcat window:
A0确定这就是所有她写! i1mb111841581wil结果
IMAP DEBUG:AUTH:XOAUTH结果
IMAP DEBUG:AUTH:XOAUTH2结果
IMAP DEBUG:AUTH:普通结果
IMAP DEBUG:AUTH:纯CLIENTTOKEN结果
DEBUG:protocolConnect登录,主机= imap.gmail.com,user=user***@gmail.com,密码=结果
IMAP DEBUG:无法加载SASL验证:java.lang.NoSuchMethodException: [类com.bbbai,java.lang.String类,类java.util.Properties中,布尔,类java.io.为PrintStream,类java.lang.String]
结果A1 AUTHENTICATE平原
+
结果
A1 NO [警示]无效的凭证(失败)结果
a.b.b:[警示]无效的凭证(失败)
A0 OK Thats all she wrote! i1mb111841581wil
IMAP DEBUG: AUTH: XOAUTH
IMAP DEBUG: AUTH: XOAUTH2
IMAP DEBUG: AUTH: PLAIN
IMAP DEBUG: AUTH: PLAIN-CLIENTTOKEN
DEBUG: protocolConnect login, host=imap.gmail.com, user=user***@gmail.com, password=
IMAP DEBUG: Can't load SASL authenticator: java.lang.NoSuchMethodException: [class com.b.b.b.a.i, class java.lang.String, class java.util.Properties, boolean, class java.io.PrintStream, class java.lang.String]
A1 AUTHENTICATE PLAIN
+
A1 NO [ALERT] Invalid credentials (Failure)
a.b.b: [ALERT] Invalid credentials (Failure)
我的Provider类:
My Provider class:
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我试过(助手类是我的课,我连接到存储):
In proguard-project.txt I tried (HelperClass is my class where I connect to the store):
-keep class com.company.app.HelperClass.**
-keep class javax.security.sasl.** { *; }
-keep class com.sun.mail.imap.IMAPSSLStore.**
-keep class java.security.** { *; }
没有什么工作......
Nothing works....
请帮忙:)
P.S。对不起,不知道如何格式化堆栈跟踪更好
p.s. sorry, don't know how to format stacktrace better
推荐答案
OAuth2SaslClientFactory是一类我从这里得到:<一href=\"https://$c$c.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/$c$c/samples/oauth2/OAuth2SaslClientFactory.java?r=3\" rel=\"nofollow\">https://$c$c.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/$c$c/samples/oauth2/OAuth2SaslClientFactory.java?r=3
OAuth2SaslClientFactory is a class I got from here: https://code.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/code/samples/oauth2/OAuth2SaslClientFactory.java?r=3
我必须包括ProGuard的行
I had to include the ProGuard line
-keep class com.company.app.OAuth2SaslClientFactory
等等。
这篇关于ProGuard的java.lang.NoSuchMethodException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!