ProGuard的java.lang.NoSuchMethodException [英] ProGuard java.lang.NoSuchMethodException

查看:380
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆